配置免密登录(SSH)
!!本文所有操作都在~/.ssh目录下进行!!
首先你需要有.ssh文件夹,如果没有的话就自己生成一下,并且修改权限。
mkdir -p ~/.ssh chmod 700 ~/.ssh#权限错误会导致认证失败
首先需要生成公钥和私钥,这个是你在本地做的。
ssh-keygen #默认RSA,但是安全原因导致可能不能用RSA,配置config的时候加上两行就行
要保证你本地和这台服务器没有连接过,因为如果连接过,knownhosts里会有对应的公钥先进行直接比对,服务器上的公钥换成新的之后knowhosts里的还是老公钥导致连接失败。
如果你连接的比较少的话可以把knownhosts文件删了,然后重新连接,这样的坏处是其他连接过的服务器在下次连接时需要重新验证。
作为本机,你需要把生成的.pub文件中的内容复制到服务器的~/.ssh/authorized_keys文件中(没有就自己创建)
然后配置本机的config文件。
大概如下:
最上面两行是加上rsa,不然不能用rsa。(从 OpenSSH 7.0 开始,ssh-rsa 算法因安全性问题(如 SHA-1 哈希易受攻击)被移出默认支持列表)
HostkeyAlgorithms +ssh-rsa PubkeyAcceptedKeyTypes +ssh-rsa Host 1.111.1.111 #你的服务器IP HostName www.test.com User user Port 22 IdentityFile ~/.ssh/id_rsa_test #生成的密钥的位置,包括密钥名称
关键注意事项
- 文件权限:
~/.ssh/config- 权限需为
600
chmod 600 ~/.ssh/config
- 目录
~/.ssh/- 权限需为
700- 配置优先级:
- 同一主机匹配多个
Host时,首个匹配的配置生效,建议将具体配置放在通用配置前(或者删掉只留一个)
- 同一主机匹配多个
- 连接测试:
- 使用
ssh -Tv my-server查看详细连接过程,验证配置是否生效
- 使用

浙公网安备 33010602011771号