Linux怎么配置SSH会话保持不掉线

风丽姑娘_3088

风丽姑娘_3088

2026-06-29

797人浏览

原创

ssh会话掉线主因是保活机制未配对,必须同时配置客户端serveraliveinterval(推荐45或60)与serveralivecountmax(推荐5),并写入~/.ssh/config按host精确匹配、权限设为600;服务端需配合clientaliveinterval(如300)与clientalivecountmax(如6)及tcpkeepalive yes,重启sshd生效,且须规避云厂商nat超时限制。

linux怎么配置ssh会话保持不掉线

SSH会话掉线,不是网络差,而是保活机制没配对——只改一个参数、只配客户端或只配服务端,基本无效。

ServerAliveInterval 和 ServerAliveCountMax 必须一起设

这两个是 OpenSSH 客户端参数,ServerAliveInterval 控制每几秒发一次心跳包,ServerAliveCountMax 决定连续几次收不到响应就断开。单独设 ServerAliveInterval 会导致假死(卡住不动),设成 0 则完全禁用。

  • ServerAliveInterval 推荐 45 或 60:太小(如 10)易被家用光猫限速;太大(如 120)赶不上 AWS ELB 的 60 秒空闲超时
  • ServerAliveCountMax 推荐 5:意味着最多容忍 5 × 间隔 = 实际保活窗口(例如 60×5=300 秒)
  • 必须写进 ~/.ssh/config,按 Host 精确匹配,比如:
    Host prod-server<br>HostName 10.20.30.40<br>User admin<br>ServerAliveInterval 60<br>ServerAliveCountMax 5
  • 权限必须是 600chmod 600 ~/.ssh/config,否则 SSH 直接忽略该文件

ClientAliveInterval 在服务端怎么配才不白改

服务端的 ClientAliveIntervalClientAliveCountMax 是兜底手段,不是客户端配置的替代品。它只在你有 root 权限且能重启 sshd 时才起作用。

onewo-rtlinux
onewo-rtlinux

Linux 实时编程助手。生成、审查并修改用于周期性控制任务和中断驱动程序的 C 代码。强制实施实时调度策略。

下载
  • ClientAliveInterval 设为 300(5 分钟),ClientAliveCountMax 设为 6 → 最大容忍 30 分钟无响应
  • 别照搬网上“ClientAliveInterval 10+ClientAliveCountMax 5”:这等于 50 秒就断,比默认还激进
  • 先检查现状:grep -E "^(ClientAlive|TCPKeepAlive)" /etc/ssh/sshd_config,有些云厂商镜像(如腾讯云旧版)默认设了 ClientAliveInterval 10,得先覆盖
  • 改完必须重启:sudo systemctl restart sshd;当前会话会断开,别在单连接里改完就关终端

配了还是断?优先排查这三处干扰源

心跳包能发出去、对方能收到、响应能回来,三者缺一不可。问题常出在非 SSH 协议层。

  • GSSAPIAuthentication yes 默认开启,但多数内网服务器没配 Kerberos,导致输入密码后卡 10–30 秒——这不是掉线,是登录卡顿。解决:在 /etc/ssh/sshd_configGSSAPIAuthentication no,再重启 sshd
  • TMOUT 是 Shell 自己的空闲退出变量,和 SSH 无关。运行 echo $TMOUT,若输出数字(如 600),说明 Bash 10 分钟自动退出。临时禁用:unset TMOUT;永久关闭:在 ~/.bashrcexport TMOUT=0
  • 终端复用工具干扰:tmux 默认 idle-timeout 是 10 分钟,screen 也有类似设置,得手动关掉

TCPKeepAlive yes 有必要开吗

它可以补底层 TCP 层探测能力,防静默中断,但不是核心解法——它发的是未加密的底层 keepalive 包,很多云厂商 NAT 网关或企业防火墙会直接忽略。

  • 建议开,但别依赖它:配合 ClientAliveInterval + ClientAliveCountMax 使用,形成应用层+传输层双保险
  • 服务端配置里加一行:TCPKeepAlive yes,然后重启 sshd
  • 注意:TCPKeepAliveClientAlive* 不冲突,前者是内核级,后者是 SSH 应用级,叠加更稳

真正容易被忽略的,是云厂商安全组/NAT 网关策略——比如阿里云 SLB 默认空闲超时 900 秒,AWS ELB 是 60 秒,你的 ServerAliveInterval 必须小于这个值的一半,否则心跳永远赶不上清理节奏。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3630

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3153

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2213

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5290

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

4962

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

2973

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2485

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2699

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CLion 远程开发实战
CLion 远程开发实战

共0课时 | 0人学习

马士兵spring视频教程
马士兵spring视频教程

共25课时 | 9.9万人学习