EL 9:root 密码登录默认关闭
EL 9 把 sshd 的默认值从”允许 root 密码登录”收紧为 PermitRootLogin prohibit-password:root 账户仍然可以走 SSH,但只接受公钥认证,密码认证被默认拒绝。这是 EL 9 相对 EL 8 最容易在升级当天”撞到”的安全变化之一。
这是什么变化
Section titled “这是什么变化”sshd 的 PermitRootLogin 控制 root 的远程登录方式:
yes:密码与密钥都允许(EL 8 及更早的实际默认);prohibit-password:只接受公钥等免密码认证(EL 9 起的默认);no:完全禁止 root 直接登录。
EL 9 的发行版默认配置文件把该值写为 prohibit-password。效果是:用 root 密码 SSH 登录会直接收到 Permission denied (publickey,gssapi-keyex,gssapi-with-mic);已配置密钥的 root 登录不受影响。
EL 8 → EL 9 对比
Section titled “EL 8 → EL 9 对比”| 项 | EL 8 | EL 9 |
|---|---|---|
PermitRootLogin 发行版默认 | yes(密码可登录) | prohibit-password(仅密钥) |
| root 密码 SSH 登录 | 允许 | 默认拒绝 |
| root 密钥 SSH 登录 | 允许 | 允许 |
- 依赖 root 密码的自动化:首启脚本、带外管理、旧版安装流程若用 root 密码 SSH,升级/重装后会失败。
- 共享密码的运维习惯:多人共用 root 密码的场景被迫迁移到个人密钥 + sudo,这本来就是更安全的做法。
- 不受影响:普通用户密码登录后
su/sudo提权的流程;root 密钥登录。
sudo sshd -T | grep -i permitrootlogin# /etc/ssh/sshd_config.d/ 下新建配置或修改 sshd_config:# PermitRootLogin yessudo systemctl reload sshd更推荐的方向是顺势加固:为管理员分发个人密钥,禁用 root 直接登录(PermitRootLogin no),用 sudo 审计提权。具体做法见 SSH 安全配置。
- SSH 安全配置 — 密钥分发、算法策略与加固清单
- EL 9 变化总览 — EL 8 → EL 9 升级路径
- EL 10:后量子加密 — 下一代 SSH 的默认算法