【问题标题】:Paramiko SSH python帕拉米科 SSH python
【发布时间】:2015-09-24 00:03:05
【问题描述】:

我正在尝试建立 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 正常工作。

有什么想法吗?

【问题讨论】:

  • 登录系统(引发异常)并运行命令。你得到了什么?
  • 如果我使用 linux ssh 命令,我会得到预期的结果。 ssh服务器是Remote协议版本1.99,远程软件版本IPSSH-6.7.0

标签: python ssh paramiko


【解决方案1】:

client.connect(. . .)之后需要使用这个命令

session = client.get_transport().open_session()

然后使用session.exec_command(. . .)

【讨论】:

  • 我也有类似的问题。我正在启动的 SSH 命令运行时间很长(几分钟)。如您所见,创建会话的原因是什么?
猜你喜欢
  • 1970-01-01
  • 2011-08-12
  • 1970-01-01
  • 2012-05-27
  • 2020-09-28
  • 1970-01-01
  • 1970-01-01
  • 2019-01-03
  • 1970-01-01
相关资源
最近更新 更多