簡體   English   中英

python - pxssh - 登錄失敗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM