2014-07-23 2 views
1

pxssh 모듈을 사용하는 데 문제가 있습니다. 내 코드는 다음과 같습니다 : 나는 오류가 계속 어떤 이유pxssh가 파일 끝 (EOF)을 던지고 있습니다. 예외 스타일 플랫폼 예외

try: 
     ssh_handle = pxssh.pxssh(timeout=None) 
     ssh_handle.logfile = sys.stdout 
     ssh_handle.login(host, username, password) 
     index = ssh_handle.expect(['Are you sure you want to continue connecting \(yes\/no\)\? ', '.*?password:.*', '.*?\$.*']) 
     if index == 0: 
      ssh_handle.sendline('yes') 
      ssh_handle.sendline(password) 
     if index == 1: 
      ssh_handle.sendline(password) 
     ssh_handle.sendline('sudo -s') 
     ssh_handle.sendline(password) 
     return ssh_handle 
    except pxssh.ExceptionPxssh as e: 
     print "SSH connection to %s failed" % host 
     sys.exit() 

:

File "/usr/lib/python2.7/dist-packages/pexpect/pxssh.py", line 313, in login 
    if not self.sync_original_prompt(sync_multiplier): 
    File "/usr/lib/python2.7/dist-packages/pexpect/pxssh.py", line 205, in sync_original_prompt 
    b = self.try_read_prompt(sync_multiplier) 
    File "/usr/lib/python2.7/dist-packages/pexpect/pxssh.py", line 168, in try_read_prompt 
    prompt += self.read_nonblocking(size=1, timeout=timeout) 
    File "/usr/lib/python2.7/dist-packages/pexpect/__init__.py", line 919, in read_nonblocking 
    raise EOF('End Of File (EOF). Exception style platform.') 
pexpect.EOF: End Of File (EOF). Exception style platform. 

내가 잘못하고 있어요 누군가가있을 수있는 포인터를 부탁드립니다 것을 확실하지 않다. 당신은 ssh_handle.expect (pexpect.EOF)을 수행하고 ssh_handle.before에 결과를 읽을 수 있습니다 탐색

+0

누구를 도와 줄 수 있습니까? 감사. – navanitachora

답변

1

사전에

감사합니다. 또는 '\'을 '(예/아니오) \'에서 제거 하시겠습니까? ' (즉 '할 (예/아니오)?'). 마지막 제안은 수세에게 저에게 도움이되었습니다.

링크 : http://pexpect.sourceforge.net/doc/

+0

내가 그 일을 끝내고 고마워. – navanitachora

+0

안녕하세요 =) – Tino