我是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
有人可以帮忙吗?
非常感谢!
答案 0 :(得分:1)
您的代码中存在各种问题:
应该是
s = pexpect.pxssh.pxssh()
在线检查额外的“(”和变量hostname
。
s.login((hostnmae,username,password)
您需要在上面的行之前输入ssh的密码。
import getpass()
password = getpass.getpass()