POLLOX
POLLOX

Reputation: 302

Paramiko SSH python

I´m trying the simplest way to make a SSH connection and execute a command with 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()

------------ERROR-----------------------

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

If i execute this code changing the command it works and to another computer, this command works fine via SSH interative shell.

Any idea ?

Upvotes: 0

Views: 1712

Answers (1)

user3520669
user3520669

Reputation:

After client.connect(. . .) you need to use this command

session = client.get_transport().open_session()

then use session.exec_command(. . .).

Upvotes: 1

Related Questions