如何使用有效的 ssh 密钥检索 ssh 密码

v.t*_*ala 6 password ssh authentication

我总是使用 ssh 密钥登录服务器,所以我不确定我的实际密码是什么。我需要猜测几次。但是服务器有fail2ban,我不想触发它。有什么方法可以检查我的哪个密码对应于服务器接受的 ssh 密钥?

无论如何,我可以在使用 ssh-key 登录后检查我的密码而不触发 fail2ban 吗?

lak*_*tak 10

不,帐户密码和 ssh 密钥之间没有关系。

即使没有密码,您也可以使用密钥登录 ssh 帐户。


对于更新的问题,是的,请键入:

su YOURUSERNAME
Run Code Online (Sandbox Code Playgroud)

然后试试你是否记得你的密码

  • 我没有 sudo,但是您使用 `su USERNAME` 的方法效果很好!非常感谢 :) (2认同)

Gil*_*il' 7

SSH 密钥完全独立于密码。知道密钥对找到密码没有帮助。

如果您是服务器上的 root,则可以获得密码哈希。这是在/etc/shadow如果它是一个本地帐户,也可以从网络数据库检索,如LDAP。在 Linux 上,尝试sudo getent shadow $USER. 获得密码哈希后,您可以离线尝试。如果您只有几个候选密码,则可以使用此单行,其中$6$stuff$more.stuff第二个:分隔字段是/etc/shadow

perl -l -pe '$_ = crypt $_, q:$6$stuff$more.stuff:'
Run Code Online (Sandbox Code Playgroud)

如果您需要更强大的蛮力,请查找引导密码攻击的软件。我不够熟悉,无法提出建议。

当然,如果你是服务器上的root,你也可以修改密码。

  • @user431397:可以设计一些假设用例:这是一个多人使用密码的共享帐户,因此您无法在不干扰他们使用该帐户的情况下更改它,并且出于某种原因找到它会很有用出密码。或者,也许您只是想知道您在过去那个时候用作密码的内容。(也许你记得你在另一个系统上使用了相同的密码,你*没有*拥有 root 或 SSH 授权密钥)。 (2认同)