解决ssh超时自动断开的方法

参考来源:法月博客

当用SSH Secure Shell连接Linux时,如果几分钟没有任何操作,连接就会断开,必须重新登陆才行,每次都重复相同的操作,很是烦人,本文总结了两种解决的方法。

方法1:更改ssh服务器的配置文件/etc/ssh/sshd_config

ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0,不发送。而ClientAliveInterval 60表示每分钟发送一次,然后客户端响应,这样就保持长连接了。这里比较怪的地方是:不是客户端主动发起保持连接的请求(如FTerm, CTerm等),而是需要服务器先主动。

另外,至于ClientAliveCountMax,使用默认值3即可。ClientAliveCountMax表示服务器发出请求后客户端没有响 应的次数达到一定值,就自动断开,正常情况下,客户端不会不响应。

然后重启ssh服务:/etc/rc.d/init.d/sshd restart

方法2:启用putty keepalive

putty -> Connection -> Seconds between keepalives ( 0 to turn off ),默认为0,改为60。

实际使用中发现把服务端的ClientAliveInterval设成60,ClientAliveCountMax设成3还是会过一小段时间就断开了,给人的感觉是由服务端发起的保持连接请求没有收到客户端的响应,为了保持连接,我把ClientAliveCountMax设成60,理论上保持60分钟。

Tags: ,

Leave a Reply


提醒: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。请务必注意user必须和评论者名相匹配(大小写一致)。