SSH 免密登录不生效:家目录权限导致的排查记录

配好了 SSH 免密:密钥生成、公钥分发一路没报错,但 ssh 登录时依然要密码。这类问题密钥本身往往没毛病,多数卡在家目录权限上。记录一次完整的排查过程。

现象

配置免密后执行 ssh 登录,每次仍提示输入密码:

image-71

排查:看目标机的安全日志

登入被连的那台机器,翻安全日志 cat /var/log/secure,定位刚才这次登录对应的 SSH 记录:

image-72

日志明确提示 /home/appadmin 目录的属组权限配置不当。查资料确认:sshd 不允许用户家目录及家目录下的 .ssh 目录对组开放写权限,一旦组可写,公钥认证会被静默放弃、退回密码验证,这正是”不报错却要密码”的原因。

修复:收紧目录权限

对家目录执行:

[root@node1 ~]# chmod -R 744 /home/appadmin/

#再次登入问题解决
[root@node2 ~]# ssh appadmin@x.x.x.x
Last login: Tue Feb  4 18:53:08 2020 from x.x.x.x
[appadmin@node1 ~]$

chmod -R 744 把写权限收敛到属主,再次 ssh 登录,不再要密码。

补充:更直接的调试手段

除了翻 /var/log/secure,登录时给 ssh 命令加 -vvv 调试参数(如 ssh -vvv user@localhost),以调试模式执行本次连接,认证方式为什么从 publickey 落到 password,输出里通常一眼可见,定位更快。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容