我有一个系统试图SSH我的使用SSH用户名@服务器。 他们给我发送了公共的RSA密钥,并且把它安装到我的.ssh / authorized key文件中。 然而,当他们尝试连接时,他们看到“权限被拒绝”。
在我的服务器上的安全日志中,我看到find了一个匹配的密钥,但仍然拒绝访问。
有任何想法吗?
更新:
昨天晚上我赶紧发表这个消息,我忽略了一些重要的细节。
首先,最重要的是,多个实体正在使用这个相同的用户在我身边进行login。 这是一个自动化的文件存储库,当有人想要连接时,我们让他们把他们的用户和服务器的公钥发送给我们,然后把它添加到我的用户的authorized_keys文件中。 这是一个非root用户。 我们还有其他外部团队可以使用ssh成功login。 它只是这个远程端的新用户不工作。
日志显示:
Sep 1 15:24:56 SavFTPDNS sshd[31674]: Connection from XXXX port 12857 Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: Client protocol version 2.0; client software version OpenSSH_4.0 Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: match: OpenSSH_4.0 pat OpenSSH* Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: Enabling compatibility mode for protocol 2.0 Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: Local version string SSH-2.0-OpenSSH_4.2 Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: PAM: initializing for "userA" Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: PAM: setting PAM_RHOST to "XXXX" Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: PAM: setting PAM_TTY to "ssh" Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: temporarily_use_uid: 504/100 (e=0/0) Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: trying public key file /home/userA/.ssh/authorized_keys Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: matching key found: file /home/userA/.ssh/authorized_keys, line 18 Sep 1 15:24:56 SavFTPDNS sshd[31674]: Found matching RSA key: d2:4f:5e:cb:cf:78:a4:67:19:99:b8:7b:2a:71:9e:61 Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: restore_uid: 0/0 Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: temporarily_use_uid: 504/100 (e=0/0) Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: trying public key file /home/userA/.ssh/authorized_keys Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: restore_uid: 0/0 Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: temporarily_use_uid: 504/100 (e=0/0) Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: trying public key file /home/userA/.ssh/authorized_keys2 Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: restore_uid: 0/0 Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: do_cleanup Sep 1 15:24:56 SavFTPDNS sshd[31674]: debug1: PAM: cleanup
如果您可以复制/粘贴您看到的日志中的行,这将有所帮助。 在同一时间的几个猜测:
确保您的权限是正确的。
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
如果您尝试以root用户身份进行身份validation,则可能需要在sshd_config中执行以下操作:
PermitRootLogin without-password
我在设置一个用于备份FreeBSD主机的梭子鱼备份系统时发现了这一点。 (在FreeBSD上,它在/ etc / ssh / sshd_config中。)
确保你的authorized_keys文件中没有换行符 – 我曾经有过类似的东西咬我。 在退格键一直回到最后一个ascii字符后,它突然开始工作。
而且,sshd对于.ssh目录及其文件的权限非常特别。
这里有一个(许多)与列出的权限的链接。
你的sshd_config文件的副本会很有趣。 特别是,sshd要求将指令pubkeyauthentication设置为yes:
PubkeyAuthentication yes
您可能还想要指定authorized_keys文件的path
AuthorizedKeysFile %h/.ssh/authorized_keys
另外,是远程尝试连接到您的本地根? 在这种情况下,您还应该检查permitrootlogin。
希望能帮助到你…
他们可以使用用户名和密码正常login吗? 如果没有,可能是他们的壳被设置为nologin ; 检查/etc/passwd来validation他们的shell是否安装正确。
我有同样的问题(CentOS 6.0)。 如果SELinux打开,请尝试执行以下操作:
restorecon -R -v /root/.ssh