使用ssh连接远程服务器的时候,如果长时间没有操作,远程连接就有可能中断。正在执行的程序和vim等缓冲区数据都会丢失。
SecureCRT
使用SecureCRT连接远程服务器,在会话选项 -> 终端设置中勾选“发送协议 NO-OP”。
使用putty连接远程服务器,找到Connection -> Seconds between keepalives ( 0 to turn off ), 默认为0,改为60。

Putty设置
Putty
启用putty keepalive
putty -> Connection -> Seconds between keepalives ( 0 to turn off ),默认为0,改为60。

二、更改ssh服务器的配置文件/etc/ssh/sshd_config
ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0,不发送。而ClientAliveInterval 60表示每分钟发送一次,然后客户端响应,这样就保持长连接了。这里比较怪的地方是:不是客户端主动发起保持连接的请求(如FTerm, CTerm等),而是需要服务器先主动。
另外,至于ClientAliveCountMax,使用默认值3即可。ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值,就自动断开,正常情况下,客户端不会不响应。
改完服务器记得保存后记得重启ssh服务。
修改过后,上面几个办法都可以让ssh保持连接,一直处于alive状态,不会因为没有操作而被服务器强制断线了。