想必大家都知道,用终端 ssh 连接服务器,如果长时间没有操作,会被断开连接。
要用的话又得重新登录,这非常不方便,也影响开发效率。那针对这种情况,有没有解决方法呢?
答案是肯定的。理论上,有两种方案 :
1.修改服务器sshd_config文件
2.修改使用者CRT的链接每隔多长时间发送一个字符串
修改服务器不太可能,站在管理者的角度思考问题,保持长时间连接,耗资源,谁也不同意让开发这样做。
那就从我们的客户端改起。
Mac 有两种解决方法
1、下载SecureCRT,这个终端软件可以设置每隔一段时间,发送一串空字符,从而保证了和服务器长时间的连接
在这里吐槽下,SecureCRT Mac版本不好用,有些命令 ,如grep tail 等用了还不如不用, 根本停不下来, Ctrl + c、z
都不管用,不知道有什么命令能终止掉呢?知道的,可以跟我说下哈~~
2、直接修改 /etc/ssh_config文件
将 #ServerAliveCountMax 3
#ServerAliveInterval 0
的注释去掉,并且 ServerAliveInterval 0 改为 ServerAliveInterval 5
参数备注 :
1、ServerAliveCountMax 3 :表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开. 正常情况下, 客户端不会不响应.
2、ServerAliveInterval 0 :指定了服务器端向客户端请求消息的时间间隔, 默认是0, 不发送.
而ServerAliveInterval 5表示每5秒向服务器发送一次,这样就保持长连接了。