在服务器端/etc/ssh/sshd_config文件里添加以下3行配置:
TCPKeepAlive yesClientAliveInterval 15ClientAliveCountMax 45 |
重启sshd服务
/etc/init.d/sshd restart |
如果仍有问题,修改客户端~/.ssh/config配置文件,添加如下一行配置:
ServerAliveInterval 60 |
说明
ClientAliveInterval:设置一个以秒记的时长,如果超过这么长时间没有收到客户端的任何数据,sshd将通过安全通道向客户端发送一个alive消息,并等候应答。默认值0表示不发送alive消息。这个选项仅对SSH-2有效。ClientAliveCountMax:sshd在未收到任何客户端回应前最多允许发送多少个alive消息。默认值是3。
到达这个上限后,sshd将强制断开连接、关闭会话。- 需要注意的是,
alive消息与TCPKeepAlive有很大差异。 alive消息是通过加密连接发送的,因此不会被欺骗;而TCPKeepAlive却是可以被欺骗的。- 如果
ClientAliveInterval被设为15并且将ClientAliveCountMax保持为默认值,那么无应答的客户端大约会在45秒后被强制断开。这个指令仅可以用于SSH-2协议.