CentOS 安全可靠,但是远程通过 SSH 连接 CentOS 服务器时,总是会出现过一段时间不用或隔夜第二天断开的情况,这是由于 CentOS 的 SSH 服务配置项设置导致的,可以修改相应的配置项来保证 CentOS 通过 SSH 连接时不自动断开。本篇方法同样适用于其他 Linux 系统。

修改配置项

打开配置文件

1
sudo vim /etc/ssh/sshd_config

修改如下两项

1
2
#ClientAliveInterval 0
#ClientAliveCountMax 3

为如下

1
2
ClientAliveInterval 60
ClientAliveCountMax 3

参数说明:

  1. ClientAliveInterval 指定了服务器端向客户端请求消息的时间间隔,默认值为 0,表示不发送。设置ClientAliveInterval = 60 表示每分钟发送一次,客户端进行响应,保持在线不断开。
  2. ClientAliveCountMax 表服务器发出请求后客户端没有响应的次数达到一定值就会自动断开。使用默认值 3 即可,因为正常情况下,不会不响应。

或通过如下两个命令直接修改:

1
2
sudo sed -i 's/#ClientAliveInterval 0/ClientAliveInterval 60/g' /etc/ssh/sshd_config
sudo sed -i 's/#ClientAliveCountMax 3/ClientAliveCountMax 3/g' /etc/ssh/sshd_config

重启 SSH 服务

想要生效需要重启 SSH 服务:

1
sudo systemctl restart sshd

或者如下命令

1
service sshd restart

重启后,就使设置生效了。即正常情况下,远程 SSH 连接不会断开。

参考文献

  1. CentOS 7 SSH连接超时自动断开解决方案.
  2. CentOS下解决SSH自动断开办法.