我们在这里为测试服务器使用了多组预定义密码——我想尝试一个可移植的 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