在Centos Linux中闲置数小时后,Python paramiko SSH会话无法激活

时间:2018-04-24 19:45:41

标签: python ssh tcp centos7 paramiko

我正在使用python paramiko ssh.exec_command从主机(从centos到centos)向从机发送命令。主设备将命令发送给从设备并等待(休眠或做一些有意义的事情),以便从设备完成。奴隶大约需要10个小时才能完成命令。如果主服务器使用ssh.exec_command将下一个命令发送到从服务器10小时后,我收到一条错误消息,指出SSH会话未激活。 我尝试在主站和从站的ssh_config文件中设置ServerAliveinterval,TCPKeepAlive。但没有任何效果。我需要检查以保持ssh会话永远活动的所有其他可能性。

1 个答案:

答案 0 :(得分:0)

ServerAliveInterval对Paramiko没有影响。

使用Transport.set_keepalive

transport = client.get_transport()
transport.set_keepalive(60)

如果这没有用(通常是因为服务器忽略了keepalive),你必须自己保持会话活着。例如。通过使命令连续产生输出。