news 2025/12/26 12:39:02

SSH 登录超时配置教程:用 LoginGraceTime 给暴力破解“关窗”

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SSH 登录超时配置教程:用 LoginGraceTime 给暴力破解“关窗”

当你的服务器没有设置 SSH 登录超时(LoginGraceTime)时,未认证连接会长时间占用资源,暴力破解的窗口也更大。启用合理的超时不仅能降低风险,还能限制并发的未认证会话数量,从根上把“撞库”行为拖慢、压缩和淘汰。


概览与目标

这篇教程面向工程团队与运维同学,带你从原理到落地,完成 LoginGraceTime 的配置与验证,并提供可复制的自动化示例与回滚策略。

  • 目标清单:理解 LoginGraceTime 的作用、完成安全取值配置、验证生效与兼容性、掌握常见故障排查与安全回滚。
  • 适用场景:物理机、云主机、容器化环境与多发行版(Debian/Ubuntu、RHEL/CentOS、AlmaLinux、Amazon Linux)。
  • 读者收益:一套可直接落地的安全基线,加上团队化的自动化与变更守护。

原理与风险

  • 参数含义:LoginGraceTime 定义客户端在连接后完成认证的时间上限(秒)。超时未认证的连接会被服务端主动断开。
  • 风险压缩:缩短超时能缩窄暴力破解的可用窗口,降低攻击者维持并发未认证连接的能力。
  • 资源保护:限制未认证连接的存活时长,有助于缓解线程/进程与内存占用,避免被“拖死”。
  • 协同参数:与 MaxStartups(控制未认证并发)和 MaxAuthTries(控制每连接的认证尝试次数)组合效果更佳。

配置步骤与验证

基础设置(安全且可回滚)
  1. 备份配置文件

    • 命令:
      sudocp/etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$(date+%F-%H%M%S)
    • 理由:快速回滚,避免生产事故。
  2. 编辑主配置或片段目录

    • 路径:
      • 主文件:/etc/ssh/sshd_config
      • 片段目录(较新的发行版可能启用):/etc/ssh/sshd_config.d/
    • 建议:若系统支持片段目录,优先新建片段文件,便于审计与合并:
      echo"LoginGraceTime 60"|sudotee/etc/ssh/sshd_config.d/10-login-grace.conf
      或直接编辑主文件:
      sudovi/etc/ssh/sshd_config# 添加或修改LoginGraceTime60
  3. 语法与生效前检查

    • 语法自检:
      sudosshd -t
    • 理由:防止配置错误导致 sshd 无法启动。
  4. 平滑应用变更

    • 优先 reload:
      sudosystemctl reload sshd
    • 备用 restart(更激进):
      sudosystemctl restart sshd
    • 兼容命令:
      sudoservicesshd reload# 或sudoservicesshd restart
  5. 确认生效

    • 查看规范化配置:
      sudosshd -T|greplogingracetime
    • 预期输出:logingracetime 60
  6. 安全操作提示

    • 双连接保护:变更期间保持一个已登录的备用会话,防止误锁死。
    • 跳板机准备:在多层网络时确保有可用的跳板与控制台访问(如云厂商控制台)。

取值建议与联动参数

  • 推荐区间:30–60 秒。平衡人类操作与安全收口。输入口令、切换令牌、粘贴 OTP 时一般可控在这个窗口。
  • 更激进场景:10–30 秒,配合禁用密码登录与公钥认证,适合自动化密钥环境。
  • 不建议过大:≥120 秒会显著放宽攻击窗口且浪费资源。
  • 联动参数:
    • MaxAuthTries:限制每连接的认证尝试次数(如 3–4)。
    • MaxStartups:限制未认证并发连接与拒绝概率,典型如:
      MaxStartups 10:30:100 # 含义:最小10并发;超过30开始概率丢弃;100为全丢弃阈值
    • PermitRootLogin:建议noprohibit-password
    • PasswordAuthentication:在具备密钥分发的团队中建议no
    • AllowUsers/AllowGroups:白名单收口到必需账号或组。

故障排查与回滚

  • 语法错误

    • 现象:reload/restart 失败或 SSH 无法连接。
    • 检查:
      sudosshd -tsudojournalctl -u sshd --since"10 min ago"
    • 回滚:
      sudomv/etc/ssh/sshd_config.bak.* /etc/ssh/sshd_configsudosystemctl restart sshd
  • 片段加载顺序

    • 现象:设置未生效或被后续片段覆盖。
    • 检查:审阅 /etc/ssh/sshd_config 与 /etc/ssh/sshd_config.d/ 的加载顺序与冲突;使用sshd -T看最终合成值。
  • 发行版差异

    • 现象:服务名为ssh而非sshd
    • 处理:
      sudosystemctl reloadssh# 或sudoservicesshreload
  • 连接被动断开

    • 现象:用户长时间停留在登录提示而超时。
    • 建议:教育与提示;在身份验证复杂(OTP、跳转)的环境不宜过小取值。

自动化示例与团队落地

Ansible 片段(推荐团队化)
-name:Harden SSH LoginGraceTimehosts:ssh_hostsbecome:yestasks:-name:Ensure sshd_config.d directory existsfile:path:/etc/ssh/sshd_config.dstate:directorymode:'0755'-name:Deploy LoginGraceTime snippetcopy:dest:/etc/ssh/sshd_config.d/10-login-grace.confcontent:|LoginGraceTime 60owner:rootgroup:rootmode:'0644'-name:Validate sshd configcommand:sshd-tregister:sshd_checkchanged_when:false-name:Reload sshdservice:name:sshdstate:reloadedwhen:sshd_check.rc == 0
Bash 安全打补丁(带备份与校验)
#!/usr/bin/env bashset-euo pipefailbackup="/etc/ssh/sshd_config.bak.$(date+%F-%H%M%S)"conf="/etc/ssh/sshd_config"snippet_dir="/etc/ssh/sshd_config.d"snippet="$snippet_dir/10-login-grace.conf"sudocp"$conf""$backup"sudomkdir-p"$snippet_dir"echo"LoginGraceTime 60"|sudotee"$snippet">/dev/nullifsudosshd -t;thensudosystemctl reload sshd||sudoservicesshd reloadsudosshd -T|grep-q"logingracetime 60"&&echo"LoginGraceTime 已生效为 60"elseecho"sshd 配置校验失败,正在回滚..."sudomv"$backup""$conf"exit1fi
团队落地要点
  • 变更窗口:在低峰时段执行,维持双会话或控制台备用。
  • 灰度发布:先在跳板/单点测试,再逐步推广到批量主机。
  • 审计记录:记录备份文件名、操作人、时间戳与最终sshd -T认证值。
  • 教育与提示:通知取值变化,避免用户误以为“服务异常”。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/12 21:02:57

top一区轴承诊断迁移学习代码 故障诊断代码 复现 首先使用一维的cnn对源域和目标域进行特征...

top一区轴承诊断迁移学习代码 故障诊断代码 复现 首先使用一维的cnn对源域和目标域进行特征提取,域适应阶段:将源域和目标域作为cnn的输入得到特征,然后进行边缘概率分布对齐和条件概率分布对齐,也就是进行JDA联合对齐。 此域适应…

作者头像 李华
网站建设 2025/12/23 7:07:22

WORLD语音合成终极指南:5分钟掌握高质量语音分析处理技术

WORLD语音合成终极指南:5分钟掌握高质量语音分析处理技术 【免费下载链接】World A high-quality speech analysis, manipulation and synthesis system 项目地址: https://gitcode.com/gh_mirrors/wo/World WORLD是一款革命性的开源语音分析、处理和合成系统…

作者头像 李华
网站建设 2025/12/24 18:26:46

选对远控软件,效率翻倍!2025年十大品牌真实评分大揭秘

个人主页:chian-ocean 选对远控软件,效率翻倍!2025年十大品牌真实评分大揭秘 在混合办公与数字化转型的双重浪潮下,远程控制软件已成为连接工作与生活的核心纽带。市场月活用户突破1.8亿,但面对“延迟高”、“画质差…

作者头像 李华
网站建设 2025/12/23 5:30:20

Drawflow移动端适配完整指南:从问题到解决方案的实战教程

Drawflow移动端适配完整指南:从问题到解决方案的实战教程 【免费下载链接】basdonax-ai-rag 项目地址: https://gitcode.com/GitHub_Trending/ba/basdonax-ai-rag 你是否曾经在手机上尝试使用Drawflow创建流程图,却发现体验远不如桌面端&#xf…

作者头像 李华
网站建设 2025/12/25 12:49:49

IEC104 协议 | 帧格式 / 调试(篇 2)

注:本文为 “ IEC104 协议” 相关合辑。 未整理去重,如有内容异常请看原文。 图片清晰度限于引文原状。 IEC 104 电力规约详细解读 (一) - 报文结构、报文分类、ASDU 张二狗和苗翠花已于 2024-04-23 08:08:13 修改 协议一般规则: 平衡方式传…

作者头像 李华