当我从一个服务器到另一个服务器执行简单的ssh(使用终端)时,它运行良好但是当我尝试使用pexpect模块从我的python应用程序使用ssh时,我无法这样做。知道为什么会这样吗?
Traceback (most recent call last):
File "pef.py", line 8, in <module>
s.login(hostname, username, password)
File "/usr/local/pythonbrew/pythons/Python-2.7.10/lib/python2.7/site-packages/pexpect/pxssh.py", line 316, in login
raise ExceptionPxssh('permission denied')
pexpect.pxssh.ExceptionPxssh: permission denied
我正在使用pexpect文档中给出的示例
from pexpect import pxssh
import getpass
s = pxssh.pxssh()
s.force_password = True
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()
答案 0 :(得分:0)
这是旧版pexpect模块的错误。使用以下命令更新模块:
pip install pexpect --upgrade