Linux怎么配置SSH心跳包_Linux防止远程连接自动断开【指南】-LINUX

VSCode Remote-SSH 断连主因是客户端未配置 SSH 心跳,需同时设置 ServerAliveInterval 和 ServerAliveCountMax;服务端需配 ClientAliveInterval 与 ClientAliveCountMax;VSCode 应启用 useLocalServer 并检查日志确认配置生效。

客户端配置 SSH 心跳:ServerAliveInterval 和 ServerAliveCountMax 必须配对用

VSCode Remote-SSH 断连,90% 是因为本地 SSH 客户端根本没发心跳包——不是服务器“不给活”,是你没告诉它“我还在线”。ServerAliveInterval 控制发送间隔(单位秒),ServerAliveCountMax 控制容忍丢包次数,两者缺一不可。

常见错误现象:

  • 改了 ServerAliveInterval 但没设 ServerAliveCountMax,结果一丢包立刻断开
  • 在命令行用 ssh -o ServerAliveInterval=60 user@host 临时连接,却忘了加 -o ServerAliveCountMax=3
  • 把配置写在 ~/.ssh/config 里,但 Host 别名写错了(比如用了 IP 而非 HostName),导致配置未生效

实操建议:

  • 编辑 ~/.ssh/config,添加通用规则:
    Host *
    ServerAliveInterval 60
    ServerAliveCountMax 3
  • 若只针对某台主机,用具体别名更安全:
    Host prod-server
    HostName 10.0.2.5
    User ops
    ServerAliveInterval 45
    ServerAliveCountMax 5
  • 参数差异:ServerAliveInterval 60 表示每分钟探一次;ServerAliveCountMax 3 意味着最多容忍 3 分钟无响应——超时后客户端主动断开,避免卡死

服务端配置 SSH 心跳:ClientAliveInterval 不等于客户端的“镜像”

服务端的 ClientAliveInterval 和 ClientAliveCountMax 看似和客户端对称,但作用对象相反:它是服务器主动探测“你还在不在”,不是转发你的心跳。很多运维误以为只要客户端配了,服务端就不用动,结果中间防火墙或云厂商 NAT 网关照样掐断连接。

使用场景:

  • 你在阿里云/腾讯云上跑开发机,公网 IP 经过 SNAT,会话空闲 5–10 分钟就被回收
  • 公司内网有统一出口防火墙,默认 TCP 连接空闲超时为 300 秒

实操建议:

  • 编辑 /etc/ssh/sshd_config,取消注释并设置:
    ClientAliveInterval 300
    ClientAliveCountMax 2

    (即每 5 分钟探一次,两次失败后断开)

  • 不要盲目抄 “60+3”:服务端间隔太短(如 30 秒)会增加无效流量;太大(如 1800 秒)则起不到保活作用
  • ClientAliveInterval 仅对协议 v2 生效,且必须配合 TCPKeepAlive yes(默认已开启)才可靠
  • 改完务必执行 sudo systemctl restart sshd,否则配置不生效

VSCode Remote-SSH 插件的隐藏开关:remote.ssh.useLocalServer 影响隧道稳定性

VSCode Remote-SSH 不是直接复用你的终端 SSH 连接,而是启动一个独立的 SSH 隧道进程。这个进程如果被系统休眠、资源限制或插件自身 Bug 干扰,就会静默掉线——此时即使 SSH 配置全对,也救不了。

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » Linux怎么配置SSH心跳包_Linux防止远程连接自动断开【指南】-LINUX
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1392+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4004107+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1392+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4004107+
  • 本周更新: 0+
  • 最后更新: 2026-03-16