【发布时间】:2020-12-27 21:15:41
【问题描述】:
以下凭据正确。
wolf@linux:~$ sshpass -p bandit0 ssh bandit0@bandit.labs.overthewire.org -p 2220
This is a OverTheWire game server.
但是它不适用于 Python pexpect.pxssh
>>> from pexpect import pxssh
>>> s = pxssh.pxssh()
>>> hostname = 'bandit.labs.overthewire.org'
>>> username = 'bandit0'
>>> password = 'bandit0'
>>> port = '2220'
>>> s.login(hostname, username, password, port)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3/dist-packages/pexpect/pxssh.py", line 402, in login
raise ExceptionPxssh('password refused')
pexpect.pxssh.ExceptionPxssh: password refused
>>>
【问题讨论】:
-
我怀疑您在
login方法中给定的位置参数导致了问题。根据documentation的方法,试试s.login(hostname, username, password, port=port),效果更好。 -
感谢@HampusLarsson,它有效!快来回答吧