项目场景:
linux中配hadoop设置免密登录。
问题描述
免密登录设置的步骤完全正确,但是依旧用ssh 主机名连接电脑时,仍然需要密码。
![在这里插入图片描述](https://img-blog.csdnimg.cn/a85106a9d7384cf0b9b1e0e4d44309e7.png)
原因分析:
1.检查~/.ssh目录的权限是否为700
2.检查~/.ssh/authorized_keys文件的权限是否为600
3.检查~/.ssh/authorized_keys文件中的公钥是否正确
4.检查/etc/ssh/sshd_config 中的 AuthorizedKeysFile .ssh/authorized_keys 文件名是否正确
遇到的问题未在上述原因中
按上以操作完成之后,ssh登录还是提示要输入密码,于是检查以上几项,都正确。此时需要查看secure安全日志
ssh 192.168.195.101
root@192.168.195.101's password:
tailf /var/log/secure
Jun 19 14:57:58 linux-node3 sshd[30446]: Authentication refused: bad ownership or modes for directory /root 或者
Jul 8 10:15:26 qf01 sshd[35384]: Received disconnect from 192.168.195.101 port 41638:11: disconnected by user
发现和root目录权限有关系
查看当前/root目录的权限
ll -d /root/
drwxr-xr-x. 4 1000 1000 4096 Jun 19 14:56 /root/
正常系统的权限
ll -d /root/
dr-xr-x---. 8 root root 4096 Jun 19 14:55 /root/
调整/root目录的权限
chmod 550 /root/
chown root.root /root/
修改完成之后,再测试免密正常已正常
[root@jenkins ~]# ssh 192.168.195.101
Last login: Wed Jun 19 15:07:08 2019 from 192.168.25.50