这个现象让人很不爽:
* 影响了人工作的连续性,让人心情不好
* Server 端的 sshd 不会正常退出,如果你碰巧在 vim 一个文件的话,vim 也不会正常退出,等于是在 Server
端留下了一堆 dirty 的东西
解决方案
很明显,我们需要一个方案,让 Client 与 Server 定时有一些数据交互,以保持连接的稳定性。和大部分 Client/Server
架构的程序一样,我们可以在 Server 或者 Client 这二者之任意一端,解决这个问题。
[编辑] 在 Server 端配置
在 /etc/ssh/sshd_config 中配置
ClientAliveInterval 2
ClientAliveCountMax 10000000
在 Client 端配置
在 /etc/ssh/ssh_config 中配置
ServerAliveInterval 2
ServerAliveCountMax 10000000
TCPKeepAlive 是做什么的
这个选项的默认值就是 yes 。
顾名思义, TCPKeepAlive 是让 Client/Server 在 TCP 协议层定期有一定的数据交互。而这个并不能保证我们的
ssh 连接不会被 reset 。