可能原因

具体表现

优先排查方向

SSH服务空闲超时设置

精确地在闲置约10秒后断开

服务器端 sshd_config中的 ClientAliveInterval参数

网络不稳定或防火墙策略

连接随机中断,可能伴有卡顿

网络延迟/丢包、中间网络设备(如防火墙)的会话超时设置

服务器资源紧张

连接断开时服务器负载高

服务器CPU、内存使用情况(如OOM Killer是否终止了进程)

客户端配置或网络问题

仅特定客户端连接时断开

客户端网络稳定性、客户端SSH配置

一、调整SSH服务配置(最可能的原因)

10秒这个非常精确的时间点,强烈指向服务器端SSH守护进程(sshd)的空闲连接超时设置。

1、登录服务器,编辑SSH服务器配置文件 /etc/ssh/sshd_config

代码语言:javascript

AI代码解释

sudo vi /etc/ssh/sshd_config

2、查找并修改关键参数:在文件中找到或添加以下两行:

  • ClientAliveInterval:服务器向客户端发送“保活”信号的时间间隔(秒)。如果这个值被设置为 10,服务器就会每10秒检查一次客户端是否存活。
  • ClientAliveCountMax:在服务器判定连接已死亡之前,允许客户端无响应的最大“保活”信号次数。总超时时间 ≈ ClientAliveInterval × ClientAliveCountMax。

检查这些参数是否被设成了类似 ClientAliveInterval 10和 ClientAliveCountMax 1的组合,这会导致大约10秒后断开。

3、建议的修改值:为了保持连接稳定,可以调整为:

代码语言:javascript

AI代码解释

ClientAliveInterval 60
ClientAliveCountMax 3

4、重启SSH服务:修改保存后,重启SSH服务以使配置生效。

代码语言:javascript

AI代码解释

sudo systemctl restart sshd

二、检查网络与防火墙

网络中间设备(如防火墙、路由器)的会话超时策略也可能切断空闲的TCP连接。

  • 测试网络稳定性:从你的客户端持续 ping服务器地址,观察在连接断开的10秒期间是否有丢包或延迟陡增的情况。
  • 检查防火墙规则:查看服务器上的防火墙(如 iptables、firewalld)是否有针对SSH连接的特定超时规则。可以暂时禁用防火墙进行测试(生产环境请谨慎操作)。
  • NAT超时:如果你通过NAT(如家庭路由器)连接,某些NAT设备会为TCP会话设置很短的超时时间。调整客户端的 ServerAliveInterval(见下文)有助于缓解此问题。

三、检查系统资源

如果服务器资源(如内存)耗尽,系统可能会终止进程来释放资源,包括SSH会话。

  • 使用 top或 htop命令检查服务器的CPU和内存使用率。
  • 检查系统日志(如 /var/log/messages或 journalctl),看是否有内核因内存不足(OOM)而杀死进程的记录。

四、配置客户端作为临时方案

如果你暂时没有服务器的管理员权限,可以在SSH客户端上进行配置,主动发送“保活”包。

  • 修改客户端配置:编辑你本地客户端的SSH配置文件(例如 ~/.ssh/config),为特定服务器或所有连接(Host *)添加以下内容:

代码语言:javascript

AI代码解释

Host your_server_ip
ServerAliveInterval 50
ServerAliveCountMax 3

这会让客户端每50秒向服务器发送一次保活信号。这个间隔应小于服务器设置的 ClientAliveInterval(如果服务器端是10秒,这里可以设为更小的值如8秒,但调整服务器端是根本解决方法)。

  • 单次连接命令:也可以在使用 ssh命令时直接附加选项:

代码语言:javascript

AI代码解释

ssh -o ServerAliveInterval=50 username@your_server_ip
五、启用详细日志进行深度排查

如果以上方法均未解决问题,开启SSH连接的详细日志输出可以帮助定位问题根源。

在客户端连接时添加 -vvv选项:

代码语言:javascript

AI代码解释

ssh -vvv username@your_server_ip

观察连接断开前最后打印的日志信息,可能会提示认证、网络或协议层面的错误。

Logo

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链

更多推荐