连接中断后是否有办法重新启动ssh连接?当Paramiko没有得到连接设备的任何响应时,它似乎有一个超时。断开连接后,如果我尝试通过ssh连接执行某些操作,则会收到错误“Socket is closed”。我知道在ssh.connect()中有一个超时选项,但我已经尝试将其设置为99999和None,但这不起作用。 顺便说一句,程序不断尝试通过ssh.write()发送输入。如果这不起作用,它会等待2秒钟并再次尝试。
答案 0 :(得分:1)
尝试这样的事情,它将写入ssh连接,并在连接超时时重新连接。
def writeOrReconnect(towrite)
try:
return ssh.write(towrite)
except socket.error as e:
#re-connect here
return ssh.write(towrite)
使用它..
writeOrReconnect('sudo apt-get install ufw') #or whatever you put inside ssh.write()