先复习一下设置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 查看详情,根据输出内容具体问题具体分析了
精彩评论