Python - 使用pexpect / pxssh失败了

时间:2015-03-01 14:04:49

标签: python

我是python的新手,我正在尝试创建一个简单的ssh会话并运行一个简单的命令。 我知道我可以使用“paramiko”,但我决定使用pexpect / pxssh,我安装了最新版本。

我的代码:

#!/usr/bin/env python

from pexpect import *
import pexpect
import pxssh
import getpass
import time
import os

try:
    s = pexpect.pxssh()
    hostname = raw_input('hostname:')
    username = raw_input('usernmae:')
    s.login((hostnmae,username,password)
    s.sendline ('uptime')
    s.prompt()
    print s.before
    s.sendline ('ls -l')
    s.prompt()
    print s.before
    s.logout()
except pxssh.ExceptionPxssh, e:
    print "pxssh failed"
    print str(e)

但它失败了以下内容:

$ python pssh.py
  File "pssh.py", line 15
    s.sendline ('uptime')
    ^
SyntaxError: invalid syntax

有人可以帮忙吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

您的代码中存在各种问题:

  1. 应该是

    s = pexpect.pxssh.pxssh()
    
  2. 在线检查额外的“(”和变量hostname

    s.login((hostnmae,username,password)
    
  3. 您需要在上面的行之前输入ssh的密码。

     import getpass()
     password = getpass.getpass()