2016-11-07 2 views
0

저는 Python을 처음 사용하고 SSH 사용법을 배웠습니다. 누군가가 오류의 원인을 파악하는 데 도움을 줄 수 있습니까? 기본적으로 디버그Python Paramiko/SSH 오류

DEB [20161107-17:37:31.455] thr=1 paramiko.transport: starting thread (client mode): 0x23f2310L 
INF [20161107-17:37:31.460] thr=1 paramiko.transport: Connected (version 2.0, client OpenSSH_3.5p1) 
DEB [20161107-17:37:31.463] thr=1 paramiko.transport: blah blah 
DEB [20161107-17:37:31.463] thr=1 paramiko.transport: Ciphers agreed: local=aes128-cbc, remote=aes128-cbc 
DEB [20161107-17:37:31.463] thr=1 paramiko.transport: blah blah 
DEB [20161107-17:37:31.466] thr=1 paramiko.transport: Got server p (1024 bits) 
DEB [20161107-17:37:31.610] thr=1 paramiko.transport: Switch to new keys ... 
DEB [20161107-17:37:31.627] thr=2 paramiko.transport: Adding ssh-rsa host key for as102.lnstb: xxxxxxxxxxx 
DEB [20161107-17:37:31.633] thr=1 paramiko.transport: userauth is OK 
INF [20161107-17:37:31.669] thr=1 paramiko.transport: Authentication (password) successful! 
DEB [20161107-17:37:31.693] thr=2 paramiko.transport: [chan 0] Max packet in: 32768 bytes 
DEB [20161107-17:37:31.696] thr=1 paramiko.transport: [chan 0] Max packet out: 32768 bytes 
DEB [20161107-17:37:31.696] thr=1 paramiko.transport: Secsh channel 0 opened. 
DEB [20161107-17:37:31.704] thr=1 paramiko.transport: EOF in transport thread 

에게

Traceback (most recent call last): 
File "ssh.py", line 33, in <module> 
ver = node.cmd('show version') 
File "/home/xxxx/python/classes/ssh.py", line 17, in cmd 
stdin, stdout, stderr = self.node.exec_command(command) 
File "/usr/local/lib/python2.6/dist-packages/paramiko/client.py", line 345, in exec_command 
chan.exec_command(command) 
File "/usr/local/lib/python2.6/dist-packages/paramiko/channel.py", line 60, in _check 
return func(self, *args, **kwds) 
File "/usr/local/lib/python2.6/dist-packages/paramiko/channel.py", line 229, in exec_command 
self._wait_for_event() 
File "/usr/local/lib/python2.6/dist-packages/paramiko/channel.py", line 1086, in _wait_for_event 
raise e 
EOFError 

출력 코드

class Ssh: 

def connect(self, host, user, password): 
    ssh = paramiko.SSHClient() 
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
    ssh.connect(host, username = user, password = password) 
    self.node = ssh 

def cmd(self,command): 
    stdin, stdout, stderr = self.node.exec_command(command) 
    return stdout.read() 

node = Ssh() 
node.connect(host,user,pwd) 
ver = node.cmd('show version') 
print(ver) 
를 인쇄 유닉스 박스에서 ssh를 통해 장치에 연결하고 단순한 '쇼 버전'명령을 실행하고/반환하려고

답변

0

그래서 나는 별도의 공급 업체에 의해 제공되는 다른 장치에서 이것을 시도하고 작동 ..이 특정 공급 업체가 paramiko 구성에 몇 가지 조정이 필요해 보입니다.