我需要在一个脚本中使用多个连接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
Run Code Online (Sandbox Code Playgroud)
但是在第二个连接上获得错误:AssertionError: The pid member must be None.
每次只有一个连接通过.如何让它工作?
您只需要创建一个新的pxssh对象.pxssh对象的构造函数创建一个进程并生成ssh.注销与远程系统断开连接,这使连接无效但不重置对象.像这样的东西:
...
s.logout()
s.close()
s = pxssh.pxssh()
s.login(ip2, ...)
Run Code Online (Sandbox Code Playgroud)
s.close()不是严格必要的,但它是一个好主意,否则,在原始对象被垃圾收集之前,底层文件描述符将不会被关闭.