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

问题描述 投票:0回答:1

我在编写 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"

python ssh subprocess ssh-keys brute-force
1个回答
3
投票

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

使用

RSAKey
类(或
DSSKey
ECDSAKey
Ed25519Key
:

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

如果密码错误,它会抛出异常。

© www.soinside.com 2019 - 2024. All rights reserved.