资讯详情

Linux服务器SCMP整改实践:禁用SSH Root远程登录(PermitRootLogin no)修复指南

📅 2026/9/24 11:07:58 | 华诺云谱 👁 阅读
Linux服务器SCMP整改实践:禁用SSH Root远程登录(PermitRootLogin no)修复指南
目录一、背景二、现象分析三、根因定位四、整改前准备五、验证 Sudo 权限六、整改实施七、验证整改结果八、本次整改经验总结九、标准验证清单一、背景在企业 Linux 安全基线检查中经常会遇到如下检查项检查项内容类别Configure SSH Server检查项Ensure SSH root login is disabled该检查项的目标是禁止通过 SSH 直接使用 Root 账户远程登录服务器降低暴力破解、凭据泄露及横向移动风险。需要特别说明的是禁止 Root SSH 登录 ≠ 禁用 Root 账户整改后仍可通过普通运维账号登录再通过 sudo 获取 Root 权限。推荐模式运维账号sudo -iroot二、现象分析发现配置已修改但仍能 Root 登录检查配置文件grepPermitRootLogin /etc/ssh/sshd_config发现PermitRootLogin no理论上已经关闭 Root 登录。但是再次测试sshrootserver仍然可以正常登录。说明实际生效配置并非来自主配置文件。三、根因定位检查 SSH 配置引用关系grep-nInclude /etc/ssh/sshd_config发现Include /etc/ssh/sshd_config.d/*.conf继续检查所有相关配置grep-RPermitRootLogin/etc/ssh/sshd_config*发现/etc/ssh/sshd_config.d/01-permitrootlogin.conf:PermitRootLogin yes实际配置变成渲染错误:Mermaid 渲染失败: Lexical error on line 2. Unrecognized text. .../etc/ssh/sshd_config] -- B[Include] -----------------------^导致主配置中的设置被覆盖。四、整改前准备在关闭 Root SSH 登录之前必须确认已经存在可用运维账号。查看用户id运维账号若不存在则创建useradd-m运维账号设置密码passwd运维账号加入管理员组usermod-aGwheel运维账号验证id运维账号示例uid1001(运维账号) gid1001(运维账号) groups1001(运维账号),10(wheel)五、验证 Sudo 权限切换账号su-运维账号查看权限sudo-l应显示(ALL) ALL验证提权sudo-i检查whoami结果root说明普通运维账号可以正常接管系统管理权限。六、整改实施1. 备份原配置cp-p\/etc/ssh/sshd_config.d/01-permitrootlogin.conf\/etc/ssh/sshd_config.d/01-permitrootlogin.conf.bak2. 修改配置覆盖原文件echoPermitRootLogin no\/etc/ssh/sshd_config.d/01-permitrootlogin.conf查看确认cat/etc/ssh/sshd_config.d/01-permitrootlogin.conf结果PermitRootLogin no3. 校验配置重启前先检查语法sshd-t正常情况下无任何输出。4. 重启服务systemctl restart sshd检查状态systemctl status sshd --no-pager结果应为Active: active (running)七、验证整改结果方法一查看最终生效配置推荐执行sshd-T|greppermitrootlogin结果permitrootlogin no注意sshd-T显示的是SSHD 最终生效配置。相比查看配置文件catsshd_config更加准确可靠。方法二验证运维账号测试登录ssh运维账号server登录成功后sudo-i验证whoami结果root说明运维链路正常。方法三验证 Root 被拒绝执行sshrootserver输入密码后Permission denied或者Permission denied, please try again.最终会拒绝登录。说明 Root 远程登录已关闭。八、本次整改经验总结本次问题并非配置错误而是 SSH 配置继承机制导致。错误认知修改/etc/ssh/sshd_config 整改完成实际情况主配置文件Include 配置目录附加配置覆盖最终生效配置必须使用以下命令确认真实状态sshd-T|greppermitrootlogin不要仅依赖cat/etc/ssh/sshd_config进行判断。九、标准验证清单整改完成后应满足状态验收项☐存在运维账号☐运维账号具备 sudo 权限☐sudo -i正常☐sshd -t检查通过☐sshd 服务正常运行☐sshd -T显示permitrootlogin no☐运维账号 SSH 登录成功☐Root SSH 登录失败全部通过后即可满足 “Ensure SSH root login is disabled” 安全基线要求并降低 Linux 服务器远程管理风险。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。