最近遇到一个服务器免密登录失败的问题,总结一下失败的原因:
这次的原因是因为home目录被另一个小伙伴赋予了777权限。(慎用777权限,会引起很多问题,而且慎用root用户,绝大部分操作使用root组里的用户就可以实现了,我的这个小伙伴总是喜欢用root用户)
# A主机代表本主机 B主机代表要ssh免密登录的主机
- 服务器B上.ssh目录的权限必须是700
- 服务器B上.authorized_keys文件权限必须是600或者644
- 服务器B上用户home目录文件权限必须是700,比如用户名是abc,则/home/abc这个目录权限必须是700
- 服务器B上SELinux关闭为disabled,可以使用命令修改setenforce 0 ,查看状态的命令为getenforce或者 查看/etc/selinux/config 文件中是否是disabled
- 有可能是StrictModes问题,编辑 vi /etc/ssh/sshd_config,找到#StrictModes yes改成StrictModes no
- 还不行,可以在服务器A上用ssh -vvv 机器B的ip 查看详情,根据输出内容具体问题具体分析了