每次putty
会话闲置一段时间后都会关闭。
putty 上没有time
参数,那么如何让putty
ssh 会话始终保持活动状态?
答案1
启用 SSH 保持活动状态通过将以下设置更改为正值:
大多数情况下,值 300 就足够了。 (5 分钟。)这会导致 PuTTY 定期向远程主机发送 SSH 空数据包,以便会话不会超时。
请注意,我们不想要SO_KEEPALIVE
该页面下方的选项。那是一个多下层机制仅当应用程序级协议没有自己的保活机制时最好使用它。 SSH 可以,因此在这种情况下我们不应该使用 TCP keepalive。
还有其他原因可能会导致连接断开,但这是首先要尝试的可靠方法。如果它不起作用,您需要检查其他事项:VPN 超时、路由器超时、远程 SSH 服务器上的设置更改、不稳定的连接等。
答案2
另一件需要检查的事情是您的系统是否正在设置环境变量 TMOUT。要检查这一点,你可以这样做:
env | grep TMOUT
或者
echo $TMOUT
如果已设置,您可以更改或取消设置。要更改该值:
export TMOUT=3600
其中数字是您注销之前的秒数。否则取消设置以关闭该功能:
unset TMOUT
请注意,您的系统管理员可能出于安全原因对此进行了设置。因此,如果您不是系统管理员,您可能需要在自己更改任何内容之前检查这一点。
答案3
除了其他答案之外,我建议运行screen
以便能够进行会话管理,即使 putty 确实终止(连接终止、VPN 关闭等)。
答案4
只需在腻子上运行此命令,确保每 10 分钟激活一次会话。
while true; do date; sleep 600; done