先立后破:Linux 下“新建管理员 → 验证 → 禁用 root 远程 SSH”的零翻车笔记

先立后破:Linux 下"新建管理员 → 验证 → 禁用 root 远程 SSH"的零翻车笔记

前言

等保 2.0 明确要求"默认账户 root 应限制远程访问",但直接 PermitRootLogin no 容易把自己锁在门外。

本文给出一条可回滚、零翻车 的标准流程:先建"替身"管理员 → 验证其 sudo 可用 → 再关闭 root 远程,全程保持 root 会话不断, 100 % 远程可维护。


环境

  • OS:Kylin V10 / CentOS 7/8 / RHEL 7/8 均通用
  • 权限:已有 root 远程会话(Terminal-A,以下简称 T-A)
  • 工具:openssh + systemd

步骤 1:新建替身账号(T-A 里执行)

bash 复制代码
# 1. 建用户、home 目录、描述
useradd -m -c "SysAdmin" admin

# 2. 设复杂口令(8+,含大小写、数字、特殊符)
passwd admin

步骤 2:给替身加 sudo 权限

Kylin/centos 已预置 wheel 组,只需加进去即可:

bash 复制代码
usermod -aG wheel admin

若系统没 wheel,可 visudo 追加 admin ALL=(ALL) NOPASSWD:ALL 或需要密码的 ALL=(ALL) ALL


步骤 3:必须验证 sudo 可用(开新终端测)

  1. 本地另开 Terminal-B,连接测试:

    bash 复制代码
    ssh admin@服务器IP
  2. 提权测试:

    bash 复制代码
    sudo -i
    # 若看到 root@hostname 提示符 → 成功
  3. 如果提示不在 sudoers,回到 T-A 执行 visudo 检查 %wheel 行是否被注释,取消注释后再次测试,直到 sudo -i 畅通无阻。


步骤 4:修改 sshd 配置(仍在 T-A)

bash 复制代码
vim /etc/ssh/sshd_config
# 找到并修改
PermitRootLogin no
# (可选)仅允许指定账户,防止其他人
AllowUsers admin

保存后先做语法检查:

bash 复制代码
sshd -t

无报错再重载服务(绝不 restart,用 reload 不断连接):

bash 复制代码
systemctl reload sshd

步骤 5:验证 root 远程已失效

在 Terminal-C 故意登录 root:

bash 复制代码
ssh root@服务器IP

预期结果:
Permission denied, please try again. 或无法输入密码 → 成功!


步骤 6:保留 root 本地通道(可选但强烈建议)

PermitRootLogin no 仅影响 ssh,本机控制台(iDRAC/IPMI/物理显示器)仍可用 root 应急登录,防止极端情况。


步骤 7:后续加固(admin 会话里执行)

  1. 改端口 + 密钥登录 + fail2ban,一条龙:

    bash 复制代码
    vim /etc/ssh/sshd_config
    Port 2222
    PasswordAuthentication no
    PubkeyAuthentication yes

    reload 后把公钥 ssh-copy-id -p 2222 admin@IP

  2. 日志审计:

    bash 复制代码
    systemctl enable --now auditd

    按等保要求加规则(见历史推文)。

  3. 把操作过程截图写进《安全加固报告》即可交差。


一键回滚(万一翻车了)

T-A 仍在线,立即:

bash 复制代码
vim /etc/ssh/sshd_config
PermitRootLogin yes
systemctl reload sshd

root 远程瞬间恢复,排查完再关。


结语

"先立后破"是生产网铁律:
新账号没 sudo → 绝不关 root;
验证窗口没通过 → 绝不 reload sshd。

按上面 7 步走,既能满足等保,也能保住饭碗。祝你加固顺利,远离"人在途中,root 被拒"的尴尬!

相关推荐
结城明日奈是我老婆3 分钟前
stm32的TIM和PWM学习笔记
笔记·stm32·学习
云飞云共享云桌面10 分钟前
东莞制造业研发降本方案:1 台云主机承载 10 人 SolidWorks,钣金操作秒响应
linux·运维·服务器·安全·电脑
上海观智网络16 分钟前
健身房瑜伽馆想开发小程序,上海靠谱服务商怎么选?
经验分享·笔记
leo_yu_yty16 分钟前
Go语言分布式计算(并发Debug)
开发语言·笔记·后端·golang
hanbr17 分钟前
[特殊字符] Linux 学习笔记(二):压缩、Vim 与配置
linux·技术
赛博三把手19 分钟前
实操篇一:Claude Code + Token173 国内直连 Anthropic Fable 5 完整接入教程
linux·编辑器·vim
sbjdhjd19 分钟前
企业级 Tomcat (上):WEB 技术栈 + 架构演进 + 生产级安装部署
linux·运维·云原生·开源·tomcat·云计算·负载均衡
KuaCpp24 分钟前
C++进阶(上)
linux·c++
草莓熊Lotso29 分钟前
【Linux网络】深入理解 TCP 协议(一):报头设计与可靠性基石
linux·运维·服务器·c语言·网络·c++·tcp/ip
San813_LDD29 分钟前
[深度学习]量化研究_ML_Lesson2
笔记