SSH - 权限被拒绝(公钥) - 在一个节点的情况下不起作用

SSH - 权限被拒绝(公钥) - 在一个节点的情况下不起作用

我有 3 个节点:节点 A、B 和 C。A 想通过 ssh 连接到 B 和 C。 B 和 C 是相同的服务器。 A 可以连接到 B,但不能连接到 C。

ssh user@node

我看到的错误:

Permission denied (publickey).

我试过了:

  • ida_rsa 和authorized_keys 文件上的所有权设置正确,并且在服务器 B 和 C 上相同
  • 两个节点上的 /etc/ssh/sshd_config 文件也是相同的
  • 我可以telnet通过端口 22 连接到节点 B 和 C,所以这也不是防火墙问题

我错过了什么?我还应该检查什么?

到目前为止,我还没有看到是什么禁止我连接到节点 C。

答案1

对于任何偶然发现这个主题的人,我已经找到了问题的根源。我写下这一点是因为我还没有找到提出此解决方案的讨论。

  • 在 sshd_config 文件中,系统不会提示用户输入任何密码:PasswordAuthentication no
  • 然而,用户在节点 C 上通常受到密码保护,但在 B 上则不受密码保护

B节点:

# passwd --status user
user LK 2017-09-27 0 99999 7 -1 (Empty password.)

C节点:

# passwd --status user
user LK 2019-04-03 0 99999 7 -1 (Password locked.)

解决方案:

# passwd -d user
Removing password for user user.
passwd: Success

现在ssh工作正常。

我检查文件时发现了问题/var/log/messages

Connection from X.X.X.X port 60408 on Y.Y.Y.Y port 22
User user not allowed because account is locked
input_userauth_request: invalid user user [preauth]
Connection closed by X.X.X.X port 60408 [preauth]

答案2

好吧,我解决了。要使用的名称不是主机名,而是您访问桌面时使用的用户名。或者您可以使用 root,但在这种情况下必须在 sshd_config 中激活它。示例 john@ip 地址

相关内容