参考来源:法月博客
当用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分钟。