首页>>帮助中心>> 香港VPS如何解决SSH连接Linux超时自动断开

香港VPS如何解决SSH连接Linux超时自动断开

2025/9/29 11次
 香港VPS如何解决SSH连接Linux超时自动断开


 在日常的 SSH 连接过程中,特别是当你长时间不进行操作时,连接经常会出现自动断开的问题。这个问题的原因通常是由于 SSH 连接处于闲置状态,服务器为了节省资源,自动切断了连接。解决这个问题,我们可以通过调整 SSH 配置文件来保持连接的稳定性,确保在没有操作的情况下也能持续连接。

 一、修改 /etc/ssh/sshd_config 文件

 1.开启 TCP Keepalive(保持活动连接)

 在 sshd_config 文件中找到 TCPKeepAlive 这个配置项,确保它的值是 yes。这意味着服务器将定期检查与客户端的连接是否仍然有效。

 这样做的目的是防止由于空闲超时导致连接被断开,TCP 连接仍然会通过“心跳”机制保持活动状态。

 TCPKeepAlive yes

 2.配置 ClientAliveInterval 和 ClientAliveCountMax

 ClientAliveInterval 控制服务器端向客户端发送“保持活动”请求的时间间隔。默认情况下,它的值是 0,表示服务器不主动向客户端发送保持活动的请求。为了避免因空闲导致连接被关闭,可以将其设置为 60 秒,表示服务器每分钟向客户端发送一个“活跃”消息。

 ClientAliveCountMax 表示服务器发送的保持活动请求没有得到客户端响应时,服务器会等待多少次。如果超过了这个次数,连接将被关闭。默认值是 3,也可以根据实际需要调整。

 配置如下:

 ClientAliveInterval 60

 ClientAliveCountMax 3

 这样配置后,服务器会每 60 秒发送一次保持活动的请求,如果客户端没有响应,则会尝试最多 3 次。3 次之后,服务器会认为客户端已经不再活跃,从而断开连接。

 二、配置生效

 修改完 sshd_config 文件后,需要使新的配置生效。通常,很多教程建议使用 service ssh restart 或 systemctl restart sshd 来重启 SSH 服务,但在 CentOS 7(及以上版本)中,可能会遇到命令无法执行的问题。为了避免这些问题,可以使用 service sshd reload 来重新加载 SSH 配置文件,而不需要完全重启服务。

 service sshd reload

 三、检查配置是否生效

 修改并重新加载 SSH 配置之后,你可以尝试连接到服务器,保持空闲状态一段时间(比如半小时或更长),看看是否还会被自动断开。如果配置生效,应该就不会再出现自动断开的情况了。

 另外,你可以通过命令检查当前的 SSH 配置:

 ss -tuln | grep :22

 这个命令可以查看 SSH 服务是否在监听 22 端口(默认的 SSH 端口)。如果看到类似于 tcp LISTEN 0 128 *:22 *:* 的输出,表示 SSH 正在监听。

 四、其他常见的连接断开问题

 1.网络防火墙和 NAT 设置: 有时,防火墙或者 NAT 设备也会在连接空闲时断开 SSH 会话。为了避免这个问题,可以确保你的防火墙配置不会中断长时间空闲的连接。如果使用了外部防火墙或路由器,可以检查是否有相关的“空闲超时”设置。

 2.客户端设置: 如果你是通过某些客户端工具(如 PuTTY、MobaXterm 等)连接的,可能需要检查客户端的设置,有些客户端也有类似的保持活动连接的设置。例如,PuTTY 中有一个选项可以设置每隔一段时间发送“空包”以保持连接活跃。

 3.长时间空闲断开: 如果你使用的是某些云服务或者远程管理工具,可能会因为云服务的超时策略而断开 SSH 连接,这时可以检查云平台的相关配置,看看是否可以调节空闲超时。

版权声明

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们996811936@qq.com进行处理。