我已将服务器上的用户 A 与另外两个用户设置了无密码连接。SSH 与其中一个用户连接正常,但与另一个用户连接时则要求输入密码。
据我所知,这两个用户的 ssh 文件、权限等设置都相同StrictModes 没有和UsePAM 否没有帮助。
在 /var/log/secure 中我看到第一个用户:
debug1: trying public key file /home/testb/.ssh/authorized_keys
debug1: fd 4 clearing O_NONBLOCK
debug1: matching key found: file /home/testb/.ssh/authorized_keys, line 1
第二个(/myuser/app/ 是 ~):
debug1: trying public key file /myuser/app/.ssh/authorized_keys
debug1: restore_uid: 0/0
debug1: temporarily_use_uid: 1500/1500 (e=0/0)
debug1: trying public key file /myuser/app/.ssh/authorized_keys
debug1: restore_uid: 0/0
Failed publickey for myuser from ::1 port 38888 ssh2
两者的 authorized_keys 文件相同。
任何帮助,将不胜感激。
埃兰。
答案1
请检查文件 /myuser/app/.ssh/authorized_keys 是否具有正确的所有者和权限。
它应该仅对所有者可读(此处为:myuser)
chown myuser /myuser/app/.ssh/authorized_keys
chmod 600 /myuser/app/.ssh/authorized_keys
答案2
我终于找到了这个: http://bugs.centos.org/print_bug_page.php?bug_id=4959
所以我跑
restorecon -R -v /root/.ssh
问题解决了!