ssh 免密码设置失败原因总结

时间:2021-12-22 19:19:41

先复习一下设置ssh免密码操作的步骤:

进入主目录

cd

生成公钥

ssh-keygen -t rsa -P '' (注:最后是二个单引号,表示不设置密码)

然后分发公钥到目标机器

ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@对方机器IP (注意不要忘记了参数-i)

注:ssh-copy-id -i 是最简单的办法,如果不用这个,就得分二个步骤:

a) 先scp 将本机的id_rsa.pub复制到对方机器的.ssh目录下

b) 在对方机器上执行 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 导入公钥

上面的操作完成后,就可以用 ssh 对方机器IP 来测试了,顺利的话,应该不会提示输入密码。

如果失败,有可能是以下原因:

1、权限问题

.ssh目录,以及/home/当前用户 需要700权限,参考以下操作调整

sudo chmod 700 ~/.ssh

sudo chmod 700 /home/当前用户

.ssh目录下的authorized_keys文件需要600或644权限,参考以下操作调整

sudo chmod 600 ~/.ssh/authorized_keys

2、StrictModes问题

编辑

sudo vi /etc/ssh/sshd_config

找到

#StrictModes yes

改成

StrictModes no

如果还不行,可以用ssh -vvv 目标机器ip 查看详情,根据输出内容具体问题具体分析了