Python Pexpect:无法设置shell提示符

Python Pexpect:无法设置shell提示符,python,python-3.x,ssh,pexpect,pxssh,Python,Python 3.x,Ssh,Pexpect,Pxssh,为了执行基于ssh密码的登录,我引用了来自的python脚本。 代码如下: from pexpect import pxssh import getpass try: s = pxssh.pxssh() hostname = input('hostname: ') username = input('username: ') password = getpass.getpass('password: ') s.login(hostname, usernam

为了执行基于ssh密码的登录,我引用了来自的python脚本。 代码如下:

from pexpect import pxssh
import getpass
try:
    s = pxssh.pxssh()
    hostname = input('hostname: ')
    username = 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)
could not set shell prompt (received: b"unset PROMPT_COMMAND\r\nPS1='[PEXPECT]\\$ '\r\nUser1@167.254.225.14's password: \r\nUser1@167.254.225.14's password: ", expected: '\\[PEXPECT\\][\\$\\#] ').
当我运行代码时,它会提示输入主机名、用户名和密码。通过CLI提供这些输入后,ssh登录失败,异常如下:

from pexpect import pxssh
import getpass
try:
    s = pxssh.pxssh()
    hostname = input('hostname: ')
    username = 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)
could not set shell prompt (received: b"unset PROMPT_COMMAND\r\nPS1='[PEXPECT]\\$ '\r\nUser1@167.254.225.14's password: \r\nUser1@167.254.225.14's password: ", expected: '\\[PEXPECT\\][\\$\\#] ').
对于相同的ssh凭据,手动登录可以正常工作

Note:
Python version: 3.6
Pexpect version: 4.7 

该错误是由于登录超时(默认为10秒)造成的。
在login()中设置高登录超时解决了此问题

该错误是由于登录超时(默认为10秒)造成的。 在login()中设置高登录超时解决了此问题