【发布时间】:2014-12-30 01:06:20
【问题描述】:
我使用 Paramiko 模块访问我的服务器,但我面临的问题是执行一个命令后通道断开。我希望通道打开,直到我完成执行更多命令。运行两个通道并不能解决我的问题,因为在第一个通道中我更改了目录并希望在同一个更改的目录中运行下一个命令。
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('xx.xx.xx.xx', username='abc', password='abc')
chan = ssh.get_transport().open_session()
chan.settimeout(10800)
chan1 = ssh.get_transport().open_session()
chan1.settimeout(10800)
chan.exec_command('uptime')
chan1.exec_command('who')
data = chan.recv(4096)
print data
data1 = chan1.recv(4096)
print data1
【问题讨论】:
-
如果您尝试自动化远程服务器命令,您可能会更喜欢fabric,它在
paramiko之上公开了更高级别的API
标签: python ssh paramiko channel