ssh不操作自动掉线问题

在服务器端/etc/ssh/sshd_config文件里添加以下3行配置:

TCPKeepAlive yesClientAliveInterval 15ClientAliveCountMax 45

重启sshd服务

 /etc/init.d/sshd restart

如果仍有问题,修改客户端~/.ssh/config配置文件,添加如下一行配置:

ServerAliveInterval 60

说明

  1. ClientAliveInterval:设置一个以秒记的时长,如果超过这么长时间没有收到客户端的任何数据,sshd将通过安全通道向客户端发送一个alive消息,并等候应答。默认值0表示不发送alive消息。这个选项仅对SSH-2有效。
  2. ClientAliveCountMax:sshd在未收到任何客户端回应前最多允许发送多少个alive消息。默认值是3
    到达这个上限后,sshd将强制断开连接、关闭会话。
  3. 需要注意的是,alive消息与TCPKeepAlive有很大差异。
  4. alive消息是通过加密连接发送的,因此不会被欺骗;而TCPKeepAlive却是可以被欺骗的。
  5. 如果ClientAliveInterval被设为15并且将ClientAliveCountMax保持为默认值,那么无应答的客户端大约会在45秒后被强制断开。这个指令仅可以用于SSH-2协议.

References

  1. http://blog.tarotoast.com/2008/04/20/433/