客户端:opensuse 10.3,openssh 4.6主机:opensuse 11.3,openssh 5.4
我有一个用户ssh公钥设置到主机,以启用运行一些脚本通过cron。 我们将主机迁移到新的服务器,发现用户不能再连接到主机。 在客户端,我删除了RSA公钥和私钥以及已知的主机,并在服务器上删除了用户的authorized_keys文件。 在此之后,我使用'ssh-keygen -t rsa'生成新的ssh RSA密钥,然后将id_rsa.pub复制到服务器上的authorized_keys。 不过,我无法连接。
对于咧嘴笑话,我在同一台客户机上为自己的用户设置了ssh RSA密钥,连接到同一台主机。 将id_rsa.pub复制到服务器上的authorized_keys后,我能够成功login。
我有客户端机器上的另一个用户谁ssh密钥的主机也工作。 所以看起来这是一个导致问题的帐户。
主机之间的sshdconfiguration文件是相同的。 您可以查看configuration: http : //pastebin.com/YdLm8iWx
'ssh -vvv'的输出可在http://pastebin.com/WQqurUZm获得
在sshd日志logging设置为VERBOSE的情况下,连接尝试时的输出如下: http : //pastebin.com/i0SEtLU6
我已经多次重新生成密钥而无济于事,而且由于我今天用同一个主机的密钥设置了另外两个用户,所以我不认为这只是一个关键问题。 如果是这样,我不明白怎么做,因为我每次都遵循同样的程序。
我现在有了用loglvel DEBUG运行的sshd; 您可以查看ssh publickey尝试的日志: http : //pastebin.com/KAcqWHQh从第22行开始。
解决scheme:结果原因是用户帐户被locking在服务器上。 我最初考虑过这个,因为用户帐户也locking在旧服务器上,但ssh仍然正常运行。
我通过在sshdconfiguration中设置“Use PAM no”部分地发现了这一点。 文件,重新启动sshd并尝试再次ssh。 其中一个日志条目是“帐户被locking”的消息。 解锁帐户后,我能够通过使用公钥ssh成功连接。
谢谢
检查authorized_keys文件的权限。 它应该由拥有该帐户的用户拥有,但更重要的是,您不应该能够读取它或从另一个用户帐户写入:
$ chown user:group ~user/.ssh/authorized_keys $ chmod 600 ~user/.ssh/authorized_keys
即使我编辑了原来的问题来反映决议,只是给出了一个“正确”的答案…但是这里就是这样。
解决scheme:结果原因是用户帐户被locking在服务器上。 我最初考虑过这个,因为用户帐户也locking在旧服务器上,但ssh仍然正常运行。
我通过在sshdconfiguration中设置“Use PAM no”部分地发现了这一点。 文件,重新启动sshd并尝试再次ssh。 其中一个日志条目是“帐户被locking”的消息。 解锁帐户后,我能够通过使用公钥ssh成功连接。