我尝试通过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
$
答案 0 :(得分: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)
我刚从http://pexpect.readthedocs.io/en/latest/api/pxssh.html#pexpect.pxssh.pxssh
中抽出来