用SSH过程连接电脑时,经常遇到长时间不操作而被服务器踢出的情况,常见的提示如:
Write failed: Broken pipe
这是因为如果有一段时间在SSH连接上无数据传输,连接就会断开,通过该连接启动的应用也会被强制停止。解决此问题有两种方法。
?
方法很简单,只需在客户端电脑上编辑(需要root权限)/etc/ssh/ssh_config,并添加如下一行:
ServerAliveInterval 60
此后该系统里的用户连接SSH时,每60秒会发一个KeepAlive请求,避免被踢。
?
?
如果有相应的权限,也可以在服务器端设置,即编辑/etc/ssh/sshd_config,并添加:
ClientAliveInterval 60
需要注意的是在服务器端设置后需要重启该服务器以使连接生效:sudo reboot
重启后每一个连接到此服务器上的客户端都会受其影响。另外应注意启用该功能后,安全性会有一定下降(比如忘记登出时……)
避免linux SSH连接因超时而断开(启动的应用程序也会被终止)
原文:http://josh-persistence.iteye.com/blog/2161719