http://bluebiu.com/blog/linux-ssh-session-alive.html            说得比较透

#vim /etc/ssh/sshd_config

找到下面两行

#ClientAliveInterval 0
#ClientAliveCountMax 3

去掉注释,改成

ClientAliveInterval 30
ClientAliveCountMax 86400

这两行的意思分别是

1、客户端每隔多少秒向服务发送一个心跳数据

2、客户端多少秒没有相应,服务器自动断掉连接

重启sshd服务

#service sshd restart

https://www.cnblogs.com/peterpanzsy/p/3730123.html

有两种方法来解决:
一、 配置客户端
1 在 linux下的ssh命令:vim /etc/ssh/ssh_config  然后找到里面的ServerAliveInterval 参数,如果没有你同样自己加一个就好了。参数意义相同,都是秒数,比如9分钟:  ServerAliveInterval 540
2 SecureCRT  设置反空闲
3 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表示服务器发出请求后客户端没有响应的次数达到一定值,就自动断开,正常情况下,客户端不会不响应。

https://www.cnblogs.com/williamjie/p/9983938.html

配置服务器
打开
/etc/ssh/sshd_config
找到
ClientAliveInterval
参数,如果没有就自己加一行
数值是秒,比如你设置为540,就是9分钟.
ClientAliveInterval 540

对于
ClientAliveCountMax
指如果发现客户端没有相应,则判断一次超时,这个参数设置允许超时的次数。比如10
ClientAliveInterval 540
ClientAliveCountMax 10;

则代表允许超时 5400秒 = 90分钟