测试 SSH 私钥密码(暴力破解)



我在编写 Python 脚本时遇到问题,该脚本为/.ssh/id_rsa文件暴力破解 SSH 私钥密码。我正在使用ssh-add命令询问密码短语,直到您输入密码。

但脚本失败并显示错误:

ssh_askpass: exec(/usr/bin/ssh-askpass(: 没有这样的文件或目录

我不明白为什么。

尝试了子过程模块的所有变体,包括.Popen.call等。但我认为最适合我的情况是:

import subprocess
p = subprocess.Popen('ssh-add id_rsa', stdin=subprocess.PIPE, text=True, shell=True)
p.stdin.write(str('password'))

预期的密码请求,如"Enter passphrase for id_rsa"

我建议你使用Paramiko,而不是使用外部控制台工具。

使用类RSAKey(或DSSKeyECDSAKeyEd25519Key(:

key = paramiko.RSAKey.from_private_key_file(filename, passphrase)

如果密码短语错误,则会引发异常。

最新更新