我正在尝试使用最简单的方法建立SSH连接并使用paramiko执行命令
import paramiko, base64
client = paramiko.SSHClient()
client.load_system_host_keys()
client.connect('10.50.0.150', username='XXXXX', password='XXXXXX')
stdin, stdout, stderr = client.exec_command('show performance -type host-io')
for line in stdout:
print '... ' + line.strip('\n')
client.close()-错误
Traceback (most recent call last):
File "a.py", line 5, in <module>
stdin, stdout, stderr = client.exec_command('show performance -type host-io')
File "/usr/lib/python2.6/site-packages/paramiko-1.10.1-py2.6.egg/paramiko/client.py", line 374, in exec_command
chan.exec_command(command)
File "/usr/lib/python2.6/site-packages/paramiko-1.10.1-py2.6.egg/paramiko/channel.py", line 218, in exec_command
self._wait_for_event()
File "/usr/lib/python2.6/site-packages/paramiko-1.10.1-py2.6.egg/paramiko/channel.py", line 1122, in _wait_for_event
raise e
EOFError如果我在另一台计算机上执行此代码,并更改它的工作命令,则此命令通过SSH交互式shell运行得很好。
有什么想法吗?
发布于 2015-09-24 00:03:05
在client.connect(. . .)之后,您需要使用以下命令
session = client.get_transport().open_session()
然后使用session.exec_command(. . .)。
https://stackoverflow.com/questions/17964414
复制相似问题