托管在IDC的一台FreeBSD服务器,发现连过去一段时间内没动作就会自动断线,老是这样很不方便,于是进入服务器,修改 /etc/ssh/sshd_config文件的参数如下:
复制代码代码如下:
ClientAliveInterval 30
ClientAliveCountMax 6
参数说明:
使用ssh连接远程服务器的时候,在网络质量不太好的情况下,如果长时间没有键盘输入,ssh连接有可能中断。正在执行的程序和vim等缓冲区数据都会丢失。
如果要让所有的ssh连接自动加上此属性,可以修改 ~/.ssh/config 文件添加
复制代码代码如下:
Host *
Protocol 2 ServerAliveInterval 30 当然,只这只能解决网络延时大和不稳定的情况,如果网络出现故障,数据还是容易丢失。因此,远程操作最好还是在screen中执行为好。最近工作时经常要同时维护 3 台 Ubuntu 的主机,但当 SSH Client 窗口在几分钟没有键盘操作的时候,会话就会超时断线,特别对于 SFTP 管理时会更加麻烦。 通过修改 sshd 的配置文件,能够让 SSH Server 发送“心跳”信号来维持持续连接。
打开服务器 /etc/ssh/sshd_config,在最后增加一行:
复制代码代码如下:
ClientAliveInterval 60
ClientAliveCountMax 1 如此配置以后,SSH Server 每 60 秒就会自动发送一个信号给 Client,而等待 Client 回应,(注意:是服务器发心跳信号,不是客户端,这个有别于一些 FTP Client 发送的 KeepAlives 信号哦~~~),如果客户端没有回应,会记录下来直到记录数超过 ClientAliveCountMax 的值时,才会断开连接。 (责任编辑:IT) |