ssh 免密码设置失败缘由总结

StrictModes no #修改成no,默认为yes.若是不修改用key登录是出现server refused our key(若是StrictModes为yes必需保证存放公钥的文件夹的拥有与登录用户名是相同的.“StrictModes”设置ssh在接收登陆请求以前是否检查用户家目录和rhosts文件的权限和全部权。这一般是必要的,由于新手常常会把本身的目录和文件设成任何人都有写权限。)(来源http://matt-u.iteye.com/blog/851158)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 来测试了,顺利的话,应该不会提示输入密码。

 

若是失败,有多是如下缘由:

一、权限问题

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

sudo chmod 700 ~/.ssh

sudo chmod 700 /home/当前用户

.ssh目录下的authorized_keys文件须要600或644权限,参考如下操做调整

sudo chmod 600 ~/.ssh/authorized_keys

二、StrictModes问题

编辑

sudo vi /etc/ssh/sshd_config

找到

#StrictModes yes

改为

StrictModes no

 

若是还不行,能够用ssh -vvv 目标机器ip 查看详情,根据输出内容具体问题具体分析了
相关文章
相关标签/搜索