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)
然后试试你是否记得你的密码
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,你也可以修改密码。