[英]python - pxssh - failed to login
我正在嘗試通過 pxssh python 庫使用 ssh 連接到服務器。 這是我的代碼:
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
$
相當老的問題,但僅用於后代。 (對於那些會像我這樣碰到這個的人:))
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)
我剛剛從http://pexpect.readthedocs.io/en/latest/api/pxssh.html#pexpect.pxssh.pxssh中拉出了
您是否驗證了登錄憑據? 日志表明您的腳本沒有清除獲取 shell 所需的第一步。 s.login(hostname, username, password) 順便說一句,您正在硬編碼所有這些參數。 這里的第一個問題是沒有主機名作為“主機名”,您可以在任何系統上登錄,除非是“本地主機”的別名或某些網站/網址。
注意:在公然復制示例之前先用頭腦。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.