使用公钥的 SSH 不起作用

use*_*123 2 ssh

我有一个系统正在尝试使用 ssh username@server.com ssh 到我的。他们已将公共 RSA 密钥发送给我,我已将其安装到我的 .ssh/authorized keys 文件中。但是,当他们尝试连接时,他们会看到“权限被拒绝”。

在我服务器上的安全日志中,我看到找到了匹配的密钥,但它仍然拒绝访问。

有任何想法吗?

更新:

由于我昨天在一天结束时匆忙发布,我遗漏了一些重要的细节。

首先,也是最重要的是,多个实体在我这边使用同一个用户进行登录。这是一个自动文件存储库,当有人想要连接时,我们让他们向我们发送他们的用户和服务器的公钥,然后我将其添加到我这边用户的 authorized_keys 文件中。这是一个非root用户。我们还有其他能够使用 ssh 成功登录的外部方。它只是远程端的这个新用户不起作用。

日志显示:

Sep  1 15:24:56 SavFTPDNS sshd[31674]: Connection from X.X.X.X 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 "X.X.X.X"
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
Run Code Online (Sandbox Code Playgroud)

Dat*_*ger 5

如果您可以复制/粘贴您看到的日志中的行,那会有所帮助。在此期间的一些猜测:

确保您的权限正确。

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)

如果您尝试以 root 身份进行身份验证,则 sshd_config 中可能需要以下内容:

PermitRootLogin without-password
Run Code Online (Sandbox Code Playgroud)

我在设置用于备份 FreeBSD 主机的 Barracuda 备份系统时发现了这一点。(在 FreeBSD 上,它在 /etc/ssh/sshd_config 中。)