SSH免密钥失败

公司的Hadoop集群重启的突然发现有节点启动失败,经过查看发现其中有一个节点是ssh失效了。先重新配置,然后再追查谁修改的服务器节点的配置。

1.配置免密钥
su hadoop      #切换用户
rm -rf ~/.ssh    #删除之前生成的密钥 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa    #生成新的密钥
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys   #加入授权 chmod 600 ~/.ssh/authorized_keys    #添加权限
2.验证
$ ssh localhost
发现验证后还是提示输入密码
3.排查问题
ssh -v localhost
ebug1: identity file /home/tosp/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /home/tosp/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
发现这个报错,主要还是权限问题,而我们已经给authorized_keys设置了600权限呀
4.解决办法
sudo sed -i 's/#StrictModes yes/StrictModes no/' /etc/ssh/sshd_config
5.重启服务
sudo systemctl restart sshd
6.再次验证,ssh localhost就ok了


附注:StrictModes  默认为yes.需保证存放公钥的文件夹的拥有与登陆用户名是相同的.
     StrictModes   设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权
THE END
分享
二维码
< <上一篇
下一篇>>