在执行ssh时获取pexpect python模块的权限

时间:2016-12-07 07:32:09

标签: python python-2.7 pexpect

当我从一个服务器到另一个服务器执行简单的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()

1 个答案:

答案 0 :(得分:0)

这是旧版pexpect模块的错误。使用以下命令更新模块:

pip install pexpect --upgrade