将我的VPS升级到CentOs 5.5后,如果我在一段时间内忽略它们,我就开始体验冻结/断开连接的shell会话。很烦人。我找到的解决方案是编辑/etc/ssh/sshd_config
并将ClientAliveInterval
设置为所需的秒数。我的理解是,这基本上取代了客户端用户(我)的活动,因此会阻止会话断开连接。
在做了这个小改动后启动了一个shell会话,我似乎能够维持一个被忽视的会话。然而,仅仅因为一件事似乎工作并不意味着必须采取最好的,甚至是正确的方法。
是否有更好/不同的方法来阻止shell会话冻结?
答案 0 :(得分:0)
ClientAliveInterval
值可以增加sshd超时,您也可以尝试以下命令
echo "TMOUT=300 >> /etc/bashrc
echo "readonly TMOUT" >> /etc/bashrc
echo "export TMOUT" >> /etc/bashrc
答案 1 :(得分:0)
无保证,但这是我最近开始在服务器上使用的内容。 10秒似乎很短的时间,但我不相信我的手机保持连接活着。我想你可以增加问题再次开始的秒数,然后再拨回来。
ClientAliveInterval 10
设置超时间隔(以秒为单位),之后如果没有从客户端收到数据,sshd(8)将通过加密通道发送消息以请求客户端的响应。默认值为0,表示不会将这些消息发送到客户端。
ClientAliveCountMax 200
如果失败,请继续尝试约30分钟。换句话说,每10秒钟继续尝试200次。我的逻辑可能有缺陷,取决于10秒后会发生什么。假设客户很安静(比如我可能正在阅读),那么" alive"如果成功,消息重置最大计数?不活动被视为失败吗?或者是失败"没有确认"活着的消息?在我知道答案之前,我认为重复200倍是安全的。
这里有类似的问题,还有一些体面的建议......