Python SSH paramiko 问题 - 从 SSH 会话内部进行 SSH 连接
import paramiko
client = paramiko.SSHClient()
client.load_system_host_keys()
ip = '192.168.100.6'
client.connect(ip, username='root', password='mima')
i, o, e = client.exec_command('apt-get install sl -y --force-yes')
print o.read(), e.read()
client.close()
我用了这个例子,运行得很好,但我想在登录服务器1之后,再登录服务器2。也就是说,我想实现嵌套的SSH登录。
2 个回答
0
你在客户端执行的是“ssh”这个命令,而不是apt-get。
只要你的Python程序不在客户端,你就无法真正开始一个paramiko会话。你通过ssh启动的软件必须在那台机器上。
也许你可以先用scp把你的软件复制过去,然后用一个像- recursive_lvl = 1这样的参数来启动它?
4
你不能在你的 client.exec_command
里面调用 ssh
命令吗?
比如这样:
client.exec_command('ssh user@host2 "apt-get install sl -y --force-yes"')