gpt4 book ai didi

python - 如何在 Python 中递归尝试不同的 SSH 密码?

转载 作者:行者123 更新时间:2023-11-28 17:47:48 25 4
gpt4 key购买 nike

我们在这里为测试服务器使用多组预定义密码 - 我想尝试一个可移植的 Python SSH 库(如下面的 - spur.py)并让它连续尝试每一个 - 但显然当它停止时已成功连接或无法连接 - 请向我询问密码。我正在使用我认为的异常处理进行某种递归。

def ssh_connection(user, host):
try:
shell = spur.SshShell(
hostname=host,
port=findport(host),
username=user,
password="abc123",
private_key_file= expanduser("~") + "/.ssh/id_rsa",
missing_host_key=spur.ssh.MissingHostKey.accept
)
shell.run(["true"])
return shell
except spur.ssh.ConnectionError as error:
print error
raise

来自 Java 世界,我会检查对象是否为 null 并遍历列表直到结束,然后询问密码。我看不到如何在 Python 中执行此操作...这是我为列表部分找到的示例:

passwords = ['abc123', 'abc456',  'abc789']
for password in passwords: # Second Example
print 'trying password :', password

最佳答案

正如 Joe 在评论中提到的,您可以做类似的事情:

def ssh_connection(user, host, passwords):
err = None
for password in passwords:
try:
shell = spur.SshShell(
hostname=host,
port=findport(host),
username=user,
password=password,
private_key_file= expanduser("~") + "/.ssh/id_rsa",
missing_host_key=spur.ssh.MissingHostKey.accept
)
shell.run(["true"])
return shell
except spur.ssh.ConnectionError as error:
err = error
if err:
raise error

关于python - 如何在 Python 中递归尝试不同的 SSH 密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15525838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com