SSH - nonelittlesong/study-ubuntu GitHub Wiki
$ ssh -q -X
$ sudo apt-get install openssh-server
$ ps -e | grep ssh
$ service ssh start # /etc/init.d/ssh start
$ vim /etc/ssh/ssh_config
$ service ssh stop
# gitlab
ssh-keygen -o -t rsa -b 4096 -C "[email protected]"
ssh-keygen -p -o -f <keyname> # 修改 passphrase
xclip -sel clip < ~/.ssh/id_rsa.pub # 复制公钥
# github
ssh-keygen -t rsa -b 4096 -C "[email protected]"
eval "$(ssh-agent -s)" # ssh-agent
ssh-add ~/.ssh/id_rsa
# 测试
ssh -Tv [email protected]
语法:
ssh-add [-cDdLlXx] [-t life] [file ...]
ssh-add -s pkcs11
ssh-add -e pkcs11
options:
-
-D
- 删除 ssh-agent 中的所有密钥 -
-d
- 删除密钥 -
-e : pkcs11
- 删除 PKCS#11 共享库 pkcs1 提供的钥匙 -
s : pkcs11
- 添加 PKCS#11 共享库 pkcs1 提供的钥匙 -
-L
- 显示 ssh-agent 中的公钥 -
-l
- 显示 ssh-agent 中的密钥 -
t : life
- 对加载的密钥设置超时时间,超时 ssh-agent 将自动卸载密钥 -
-X
- 对 ssh-agent 进行解锁 -
-x
- 对 ssh-agent 进行加锁
options:
-
-T
- 禁止虚拟终端。 -
-v
- 打印信息。
options:
-
-m
- 指定密钥格式。 PEM 指 RSA旧格式。 -
-t
- 密钥类型。 -
-i
- 将其他格式转成 OPENSSH,输出到 stdout。和-m
连用指定格式。 -
-e
- 将 OPENSSH 转成其他格式,输出到 stdout。和-m
连用指定格式。 -
-b
- 密钥长度。一般4096。 -
-f
- 和-t
连用,指定保存密钥的文件名。和-e/-i
连用,指定输入文件名。 -
-o
- 使用 OPENSSH 格式。
ssh-keygen -f "/home/song/.ssh/known_hosts" -R 45.76.106.101
现象:
主机间互通正常且可以判断对方 ssh 端口是开放的,但是用 ssh user@host -v
这种方式连接的时候会卡在 debug1: SSH2_MSG_KEXINIT sent
这步。
解决方法:
$ su
echo 1454 > /sys/class/net/wlp3s0/mtu
原因:
IPV4 报头与 GRE 报头结构不同,导致 GRE 数据包最大内容载荷只有1454,默认 mtu 如果是1500的话,就会有46字节的内容无法处理导致错误。