我需要使用pxssh
在一个脚本中执行多个连接。
试着这样做:
import pxssh
ip = 'ip'
username = 'username'
password = 'password'
s = pxssh.pxssh()
s.login (ip, username, password)
s.sendline('command')
s.prompt()
print s.before
s.logout()
s.login(ip2, username, password)
etc
但在第二个连接上收到错误:AssertionError: The pid member must be None.
每次只有一个连接通过。
如何让它发挥作用?
答案 0 :(得分:6)
您只需要创建一个新的pxssh对象。 pxssh对象的构造函数创建一个进程并生成ssh。注销与远程系统断开连接,这使连接无效但不会重置对象。像这样:
...
s.logout()
s.close()
s = pxssh.pxssh()
s.login(ip2, ...)
s.close()不是绝对必要的,但它是一个好主意,否则,在原始对象被垃圾收集之前,基础文件描述符不会被关闭。