过去,我能够以一个用户 ( user1
) 的身份通过 ssh 连接到另一个系统(例如,user2
)。举例来说,假设我正在使用host1
asuser1
并且我想以host2
a身份登录user2
;我会使用以下命令:
ssh user2@host2
在今天之前,这曾经是有效的。
为了使其正常工作,我将正在使用的
~/.ssh/id_rsa.pub
私钥 () 的公钥 ()添加到 中。~/.ssh/id_rsa
user1@host1
user2@host2/.ssh/authorized_keys
今天,我收到错误身份验证失败次数过多:
ssh -v user2@host2
. . .
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/user1/.ssh/id_rsa2
debug1: Offering RSA public key: /home/user1/.ssh/id_rsa1
debug1: Offering RSA public key: /home/user1/.ssh/id_rsa
debug1: Server accepts key: pkalg rsa-sha2-512 blen 279
Received disconnect from 10.22.3.4 port 22:2: Too many authentication failures
Authentication failed.
我可以成功登录user1@host2
;所以这有效:
ssh host2
所以我知道这一点host1
并host2
支持基于 ssh 密钥的身份验证。
(问) 我可以使用什么命令来解决这个问题?
(问)我可以检查哪些常见日志文件来查找错误/线索以了解失败的原因?
(Q) 出现错误的常见原因有哪些Too many authentication failures
?
我尝试过的
重置登录失败
过去,当我遇到此错误时,我会sudo pam_tally2 -u user2 -r
在主机上使用host2
.这将重置登录失败计数。然而,运行此命令后,登录失败即使我得到了计数仍然为零身份验证失败次数过多错误信息。因此,这个错误实际上并未被视为登录失败(至少 pam_tally2 不会)。
仔细检查公钥是否设置正确
我已经验证公钥在文件user1@host1:.ssh/id_rsa.pub
中user2@host2:.ssh/authorized_keys
。
仔细检查文件的权限是否已锁定。
我已验证文件的权限是否正确。
drwx------ # Dir: user2@host2:.ssh
-r-------- # File: user2@host2:.ssh/authorized_keys
StackOverflow 上的搜索
发现这与我的问题非常相似。
- 解决 SSH 连接问题- 我的问题在我收到的错误中更具体一点是身份验证失败次数过多。
谷歌搜索答案
我尝试过 Google 搜索解决ssh登录失败的问题并获得了比我在这里总结的更多的点击率。所以存在很多潜在的问题。
谷歌搜索ssh 登录失败的常见 pam 错误并发现
仍在寻找答案