当前位置: 首页 > article >正文

别再乱改sshd_config主文件了!Ubuntu 22.04下用sshd_config.d目录的正确姿势

Ubuntu 22.04下SSH配置管理的现代实践告别直接修改sshd_config的时代在Linux系统管理中SSH服务的配置一直是个看似简单实则暗藏玄机的领域。许多管理员至今仍保持着直接修改/etc/ssh/sshd_config文件的习惯却不知道Ubuntu等现代Linux发行版已经提供了更优雅的解决方案。本文将带你深入了解sshd_config.d目录的妙用让你的SSH配置管理步入模块化、可维护的新阶段。1. 为什么应该停止直接修改主配置文件直接修改/etc/ssh/sshd_config文件存在几个根本性问题。首先这个文件在系统升级时可能会被覆盖导致你精心调整的配置一夜之间回到解放前。其次当多人协作管理服务器时所有修改都集中在单一文件中极易产生冲突且难以追踪变更历史。更关键的是现代Ubuntu系统包括22.04 LTS已经默认启用了模块化配置机制。查看默认的sshd_config文件你会发现这样一行配置Include /etc/ssh/sshd_config.d/*.conf这行配置意味着系统会自动加载sshd_config.d目录下所有以.conf结尾的文件。这种设计带来了几个显著优势配置隔离不同功能的配置可以放在不同文件中版本控制友好单个小文件比大配置文件更容易管理变更安全回滚出现问题只需删除或修改特定配置文件避免冲突系统更新不会覆盖你的自定义配置2. 配置目录的正确使用姿势2.1 创建和管理配置片段在Ubuntu 22.04中使用sshd_config.d目录非常简单。首先确认目录存在sudo mkdir -p /etc/ssh/sshd_config.d然后你可以为每个配置项创建单独的文件。例如要启用密码认证和root登录echo PasswordAuthentication yes PermitRootLogin yes | sudo tee /etc/ssh/sshd_config.d/01-auth.conf注意文件命名建议使用数字前缀如01-来控制加载顺序并使用.conf扩展名。文件内容只需包含你需要修改的配置项无需复制整个sshd_config的结构。2.2 常用配置示例以下是几个常见配置场景的示例连接保活设置防止SSH超时断开echo ClientAliveInterval 60 ClientAliveCountMax 3 | sudo tee /etc/ssh/sshd_config.d/02-keepalive.conf修改默认SSH端口echo Port 2222 | sudo tee /etc/ssh/sshd_config.d/03-port.conf限制用户登录echo AllowUsers admin deploy DenyUsers test | sudo tee /etc/ssh/sshd_config.d/04-access.conf每次添加或修改配置后需要重启SSH服务使更改生效sudo systemctl restart sshd3. 高级技巧与最佳实践3.1 配置文件的优先级与覆盖规则理解配置的加载顺序和优先级至关重要。SSH服务会首先加载主sshd_config中的配置然后按字母顺序加载sshd_config.d目录中的.conf文件后加载的配置会覆盖先前设置的相同参数这意味着你可以在sshd_config.d中使用更高字母顺序的文件来覆盖之前的配置。例如00-base.conf # 基础配置 10-override.conf # 覆盖00中的某些设置3.2 配置验证与调试在应用配置前可以使用测试模式验证配置是否正确sudo sshd -t如果配置有语法错误此命令会指出问题所在。要查看最终生效的所有配置包括目录中的片段可以使用sudo sshd -T3.3 版本控制集成将/etc/ssh/sshd_config.d目录纳入版本控制如Git是极佳实践。你可以cd /etc/ssh sudo git init sudo git add sshd_config.d/ sudo git commit -m Initial SSH config这样每次修改都有完整的历史记录可以轻松回滚到任意版本。4. 从旧方式迁移到新方法如果你已经有一些直接写在sshd_config中的自定义配置迁移到新方法很简单从sshd_config中找出你修改过的非注释配置项为每组相关配置创建单独的文件放入sshd_config.d从主配置文件中移除这些自定义项测试并重启服务例如如果你在主配置中修改了这些项Port 2222 PasswordAuthentication no PermitRootLogin no可以创建/etc/ssh/sshd_config.d/01-custom.confPort 2222 PasswordAuthentication no PermitRootLogin no然后从主配置中删除这些行或将其注释掉。5. 安全注意事项虽然模块化配置更方便但仍需注意安全确保sshd_config.d目录权限为755配置文件为644避免在配置文件中存储敏感信息如密码定期审计配置内容使用Include指令而非Match等高级指令应保留在主配置中一个安全检查清单检查项推荐值检查命令目录权限755ls -ld /etc/ssh/sshd_config.d文件权限644ls -l /etc/ssh/sshd_config.d/*配置文件所有者root:rootls -l /etc/ssh/sshd_config.d/*语法检查无错误sudo sshd -t在多年的Linux系统管理实践中我发现采用这种模块化配置方式不仅减少了配置冲突还大大简化了故障排查过程。当某个SSH功能出现问题时我可以快速定位到对应的配置文件而不是在数百行的主配置中大海捞针。

相关文章:

别再乱改sshd_config主文件了!Ubuntu 22.04下用sshd_config.d目录的正确姿势

Ubuntu 22.04下SSH配置管理的现代实践:告别直接修改sshd_config的时代 在Linux系统管理中,SSH服务的配置一直是个看似简单实则暗藏玄机的领域。许多管理员至今仍保持着直接修改 /etc/ssh/sshd_config 文件的习惯,却不知道Ubuntu等现代Linux…...

多版本滤波算法对比试验

一、设计版本V1.0资源二、设计版本V2.0资源和仿真三、设计版本V3.0资源和仿真四、设计优化V4.0设计优化V4.0是在V3.0基础上将inline off去掉后,资源立马下降。总结:V1.0版本,很奇怪,按道理,资源要多些,但是…...

摒弃传统持卡定位弊端 全方位筑牢井下应急安全屏障

摒弃传统持卡定位弊端 全方位筑牢井下应急安全屏障井下人员定位是矿山安全生产、应急救援、风险管控的核心基础支撑,直接关乎井下作业人员生命安全与矿山安全生产大局。长期以来,传统井下持卡定位模式凭借基础管控作用被广泛应用,但在深井开采…...

谷歌内部CSR策划SOP首次流出(非公开版):含风险预判矩阵、利益相关方触达热力图与监管审计应答话术库

更多请点击: https://codechina.net 第一章:Gemini CSR活动策划的底层逻辑与战略定位 Gemini CSR(Corporate Social Responsibility)活动并非孤立的品牌传播动作,而是深度嵌入企业技术价值观与长期可持续发展框架的战…...

3分钟快速上手:通达信缠论可视化插件终极使用指南

3分钟快速上手:通达信缠论可视化插件终极使用指南 【免费下载链接】Indicator 通达信缠论可视化分析插件 项目地址: https://gitcode.com/gh_mirrors/ind/Indicator 通达信缠论可视化插件是一款专为股票投资者设计的缠论技术分析工具,能够将复杂的…...

C# MQTT性能优化:工业级高可靠低带宽实战指南

上个月给某汽车零部件厂做产线改造,差点栽在MQTT上。 现场环境你懂的,几百个传感器同时发数据,带宽只有可怜的2Mbps,还时不时断网。一开始用的是网上随便找的MQTT客户端代码,结果上线第一天就炸了。 消息延迟最高到了3…...

GORM 标签详解(数据库字段映射核心)

很多人刚学 GORM: 会觉得: gorm:"primaryKey" gorm:"index" gorm:"not null"这些东西: 像“魔法字符串”。 其实: 它本质上是在告诉 GORM: 数据库这一列应该怎么创建也就是:…...

快速从 Excel 文件导入 SQL 数据库的方法与分析

引言 在日常数据处理、数据迁移或系统初始化工作中,我们经常需要将存储在 Excel 文件中的数据导入到 SQL 数据库(如 MySQL, PostgreSQL, SQL Server 等)中。手动逐条录入不仅效率低下,而且容易出错。本文将系统性地分析几种主流、高效的 Excel 导入 SQL 方法,并对比其优缺…...

uniAPP 所有章节知识体系概述和网站播放器落地一体方案

uniAPP 前十章知识体系 由于 uni-app 并没有官方统一的"前十章"教程划分,不同教材的章节结构有所不同。以下基于多本主流教材内容,整合出一套通用的 uni-app 学习路线,涵盖从入门基础到后端通信的核心知识。 第1章 初识 uni-app 本章是学习的起点,帮助建立对 …...

AI Agent Harness多租户数据隔离

AI Agent Harness多租户数据隔离:构建企业级智能协作平台的安全基石 1. 引入与连接:从一场云端智能客服泄露事故谈起 核心概念: AI Agent(智能代理):具备自主感知、推理决策、行动执行能力的软件实体,可代表个人/组织完成特定任务,是当前大模型应用落地的核心载体 AI …...

用 AutoGen 编排多智能体协作,让 AI 团队帮你干活

🧑‍💻 博主介绍 & 诚邀关注 作者:专注于 Java、Python、前端开发的技术博主 | 全网粉丝 30 万 在校期间协助导师完成毕业设计课题分类、论文格式初审及代码整理工作;工作后持续分享毕设思路,助力毕业生顺利完成…...

如何免费将PPTX转换为HTML?探索纯JavaScript解决方案的完整指南

如何免费将PPTX转换为HTML?探索纯JavaScript解决方案的完整指南 【免费下载链接】PPTX2HTML Convert pptx file to HTML by using pure javascript 项目地址: https://gitcode.com/gh_mirrors/pp/PPTX2HTML 在数字化办公时代,PPTX2HTML作为一款纯…...

5分钟掌握WebPShop:Photoshop终极WebP插件完全指南

5分钟掌握WebPShop:Photoshop终极WebP插件完全指南 【免费下载链接】WebPShop Photoshop plug-in for opening and saving WebP images 项目地址: https://gitcode.com/gh_mirrors/we/WebPShop 还在为Photoshop无法原生处理WebP格式而烦恼吗?WebP…...

94、【Agent】【OpenCode】edit 工具提示词(参数内容)

【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除 背景 上篇 blog 【Agent】【OpenCode】edit 工…...

93、【Agent】【OpenCode】edit 工具提示词(二)

【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除 背景 上篇 blog 【Agent】【OpenCode】edit 工…...

新手教程使用curl命令快速测试Taotoken的OpenAI兼容接口

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 新手教程:使用curl命令快速测试Taotoken的OpenAI兼容接口 基础教程类,面向刚注册Taotoken的开发者&#xf…...

DeepSeek数据脱敏与联邦学习实战方案(2024最新版零信任架构白皮书)

更多请点击: https://intelliparadigm.com 第一章:DeepSeek数据隐私保护概述 DeepSeek系列大模型在训练与推理过程中严格遵循数据最小化、目的限定及用户可控原则,其隐私保护机制贯穿数据采集、预处理、模型训练、服务部署与日志管理全生命周…...

DeepSeek长上下文能力解密(官方未公开的context-aware attention调度机制)

更多请点击: https://codechina.net 第一章:DeepSeek长上下文能力解密(官方未公开的context-aware attention调度机制) DeepSeek系列模型在128K token上下文场景中展现出远超同规模模型的稳定性与推理一致性,其核心并…...

现在不掌握AI视频学习底层逻辑,3个月内将被淘汰:基于LinkedIn人才数据的技能贬值倒计时分析

更多请点击: https://intelliparadigm.com 第一章:AI视频生成工具学习曲线分析 AI视频生成工具的学习曲线呈现出显著的非线性特征——入门门槛看似平缓,但跨越“可用”到“可控”阶段往往遭遇陡峭的认知断崖。初学者常误以为上传文本提示即可…...

5大AI音频处理插件:用OpenVINO为Audacity注入本地智能处理能力

5大AI音频处理插件:用OpenVINO为Audacity注入本地智能处理能力 【免费下载链接】openvino-plugins-ai-audacity A set of AI-enabled effects, generators, and analyzers for Audacity. 项目地址: https://gitcode.com/gh_mirrors/op/openvino-plugins-ai-audaci…...

G-Helper完整指南:轻量级华硕笔记本控制工具,开源替代Armoury Crate的明智之选

G-Helper完整指南:轻量级华硕笔记本控制工具,开源替代Armoury Crate的明智之选 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, S…...

在Windows电脑上完整体验AirPods功能:终极解决方案AirPodsDesktop

在Windows电脑上完整体验AirPods功能:终极解决方案AirPodsDesktop 【免费下载链接】AirPodsDesktop ☄️ AirPods desktop user experience enhancement program, for Windows and Linux (WIP) 项目地址: https://gitcode.com/gh_mirrors/ai/AirPodsDesktop …...

基于Silvaco的β-氧化镓(β-Ga₂O₃)基MSM型日盲紫外光电探测器仿真研究

基于Silvaco的β-氧化镓(β-Ga₂O₃)基MSM型日盲紫外光电探测器仿真研究 摘要 日盲紫外光电探测技术在导弹预警、火灾监测、紫外通信等军用和民用领域具有重要的应用价值。β-氧化镓(β-Ga₂O₃)作为一种超宽禁带半导体材料,因其禁带宽度约为4.8-4.9 eV(对应吸收截止边约25…...

徒手撸极简前后端分离Demo!吃透原生JS动态渲染底层

之前一直觉得前后端分离是个特别高大上的工程化概念,总以为得学一堆框架、接口规范、部署流程才能上手。 直到昨天我没用Vue、没用React,纯靠原生JSHTMLCSSjson-server,手写了一套最朴素的前后端分离小案例,瞬间把底层逻辑彻底打通…...

化学教学平台——数据可视化与电化学AI动画推演

化学教学平台——数据可视化与电化学AI动画推演 1 项目概述 本化学教学平台是一套完整的前端Web应用,旨在为化学教育工作者和学生提供两个核心功能模块:数据智能查询与化学性质可视化(基于ECharts和D3.js),以及反应模拟预判——基于电化学原理的AI动画推演(基于Three.j…...

终极AMD Ryzen调试工具:免费开源的硬件掌控神器

终极AMD Ryzen调试工具:免费开源的硬件掌控神器 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitcode.…...

利用 Taotoken 为不同业务场景动态选择最合适的大模型

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用 Taotoken 为不同业务场景动态选择最合适的大模型 在构建一个集成了大模型能力的应用时,一个常见的挑战是如何为不…...

企业级多模型聚合平台选型,如何通过用量看板实现成本精细化管理

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 企业级多模型聚合平台选型,如何通过用量看板实现成本精细化管理 当企业技术团队决定将大模型能力深度融入业务流程时&a…...

告别账单惊吓,Taotoken Token Plan 如何让成本更可控

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 告别账单惊吓,Taotoken Token Plan 如何让成本更可控 对于依赖大模型 API 进行开发的团队和个人而言,项目成…...

终极指南:如何5步免费使用Cursor Pro破解工具实现永久免费AI编程

终极指南:如何5步免费使用Cursor Pro破解工具实现永久免费AI编程 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reache…...