2013-07-31 2 views
1

미안은 ------ SSH를 연결하고 paramiko는 Paramiko SSH 파이썬

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 interative 쉘을 통해 잘 작동 명령을 변경,이 코드를 실행합니다.

아이디어가 있으십니까? 다음 session.exec_command(. . .)를 사용

+1

예외가 발생하는 시스템에 로그인하고 명령을 실행하십시오. 너는 무엇을 얻 느냐? – falsetru

+0

linux ssh 명령을 사용하면 예상되는 결과를 얻습니다. ssh 서버는 원격 프로토콜 버전 1.99입니다. 원격 소프트웨어 버전 IPSSH-6.7.0 – POLLOX

답변

1

client.connect(. . .) 후에는이 명령을

session = client.get_transport().open_session()

를 사용해야합니다.

+0

비슷한 문제가 있습니다. 시작하는 SSH 명령은 장시간 (몇 분) 실행됩니다. 세션을 만드는 이유는 무엇입니까? –

관련 문제