最近遇到一个关于ssh登录的问题,在用户目录的~/.ssh/authorized_keys文件中写入客户端的公钥,但登录时无法免密登录,经过查阅资料,现有以下一些信息记录
查看登录日志
在系统的/var/log/secure文件中,可以看到用户的登录日志,里面又记录ssh不生效的原因,我遇到的问题是
Authentication refused: bad ownership or modes for directory /home/b02y
表示用户主目录的权限异常
ssh登录对于目录权限的要求
SSH非常注重安全,对目录和文件的所有权和权限有严格的要求。SSH需要用户主目录,以及该目录下的.ssh目录和authorized_keys文件的所有权和权限符合特定的规则,如果不符合,SSH就会拒绝密钥认证
-
用户主目录的权限应该为
755或更严格(例如,700)。如果主目录的权限太开放(例如,它允许组或其他用户写入),那么SSH将会拒绝密钥认证。你可以使用命令chmod 700 /home/b02y来设定这个权限。 -
.ssh目录的权限应该为700。你可以使用命令chmod 700 /home/b02y/.ssh来设定这个权限。 -
authorized_keys文件的权限应该为600。你可以使用命令chmod 600 /home/b02y/.ssh/authorized_keys来设定这个权限。 -
同时,所有这些目录和文件的所有者应该都是当前用户。如果不是,你可以使用
chown命令更改它们的所有者,例如使用chown b02y:b02y /home/b02y -R。
Comments NOTHING