配置服务端:
ClientAliveInterval
设置一个以秒记的时长,如果超过这么长时间没有收到客户端的任何数据,sshd 将通过安全通道向客户端发送一个”alive”消息,并等候应答。默认值 0 表示不发送”alive”消息。这个选项仅对SSH-2有效。ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0, 不发送.而ClientAliveInterval 60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了.
ClientAliveCountMax
sshd 在未收到任何客户端回应前最多允许发送多少个”alive”消息。默认值是 3 。到达这个上限后,sshd 将强制断开连接、关闭会话。需要注意的是,”alive”消息与 TCPKeepAlive 有很大差异。“alive”消息是通过加密连接发送的,因此不会被欺骗;而 TCPKeepAlive 却是可以被欺骗的。如果 ClientAliveInterval 被设为 15 并且将 ClientAliveCountMax 保持为默认值, 那么无应答的客户端大约会在45秒后被强制断开。这个指令仅可以用于SSH-2协议.
配置客户端:
#vi /etc/ssh/ssh_config
然后找到里面的
ServerAliveInterval
参数,如果没有,你同样自己加一个就好了,参数意义相同,都是秒数,比如5分钟等。
ServerAliveInterval 300
客户端也可以配置ServerAliveCountMax
在客户端和服务端都可以配置
TCPKeepAlive yes
还有人说要关闭SELinux,在网上看到这个东西貌似没什么用而且学习成本比较大,不如直接关掉