2014-04-11 1 views
0

pxssh 파이썬 라이브러리를 통해 ssh를 사용하여 서버에 연결하려고합니다. 여기 python - pxssh - 로그인 실패

import pxssh 
import getpass 
try: 
    s = pxssh.pxssh() 
    s.force_password = True 
    hostname = 'myserverip' 
    username = 'username' 
    password = 'password' 
    s.login (hostname, username, password) 
    s.sendline ('get system number') # run a command 
    s.prompt()    # match the prompt 
    print s.before   # print everything before the prompt. 
    s.logout() 
except pxssh.ExceptionPxssh, e: 
    print "pxssh failed on login." 
    print str(e) 

내가 무엇입니까 응답입니다 : 여기 내 코드의

pxssh failed on login. 
could not set shell prompt 
unset PROMPT_COMMAND 

error,09 
$ PS1='[PEXPECT]\$ ' 

error,09 
$ set prompt='[PEXPECT]\$ ' 

error,09 
$ 
+0

(첫 번째 질문 검토)에서 빠지게 (:) 나 같은이에 범프 것이 하나의 경우)

from pexpect import pxssh import getpass try: s = pxssh.pxssh() hostname = raw_input('hostname: ') username = raw_input('username: ') password = getpass.getpass('password: ') s.login(hostname, username, password) s.sendline('uptime') # run a command s.prompt() # match the prompt print(s.before) # print everything before the prompt. s.sendline('ls -l') s.prompt() print(s.before) s.sendline('df') s.prompt() print(s.before) s.logout() except pxssh.ExceptionPxssh as e: print("pxssh failed on login.") print(e) 

당신은 실제로 실패 명령 정보와 무엇을 추가 할 수 있습니다 당신은 그 문제를 해결하려고했습니다. – eckes

+0

내가 한 명령은'시스템 번호 가져 오기 '이며 로그인 실패라고합니다. – user42992

+0

나는 위의 파이썬 코드에서 어떤 라인을 의미한다. 예외를 잡아 내지 않으면 인쇄 할 수 있을지 의심 스럽다. 그렇지 않으면 디버그 출력을 추가 할 수 있습니다. 그러나 그것은's.prompt()'일까요? 어쨌든 ssh를 사용하여 명령을 실행하기 위해 터미널 에뮬레이션을 수행하는 것이 이상하게 보입니다. – eckes

답변