跳转到内容
搜索 RunEntLinux 文档

仅搜索 RunEntLinux 通用文档,各发行版文档使用各自的搜索入口。

    浏览当前文档目录

    EL 9:root 密码登录默认关闭

    EL 9 把 sshd 的默认值从”允许 root 密码登录”收紧为 PermitRootLogin prohibit-password:root 账户仍然可以走 SSH,但只接受公钥认证,密码认证被默认拒绝。这是 EL 9 相对 EL 8 最容易在升级当天”撞到”的安全变化之一。

    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 8EL 9
    PermitRootLogin 发行版默认yes(密码可登录)prohibit-password(仅密钥)
    root 密码 SSH 登录允许默认拒绝
    root 密钥 SSH 登录允许允许
    • 依赖 root 密码的自动化:首启脚本、带外管理、旧版安装流程若用 root 密码 SSH,升级/重装后会失败。
    • 共享密码的运维习惯:多人共用 root 密码的场景被迫迁移到个人密钥 + sudo,这本来就是更安全的做法。
    • 不受影响:普通用户密码登录后 su / sudo 提权的流程;root 密钥登录。
    查看 sshd 实际生效值
    sudo sshd -T | grep -i permitrootlogin
    (不推荐)恢复 root 密码登录
    # /etc/ssh/sshd_config.d/ 下新建配置或修改 sshd_config:
    # PermitRootLogin yes
    sudo systemctl reload sshd

    更推荐的方向是顺势加固:为管理员分发个人密钥,禁用 root 直接登录(PermitRootLogin no),用 sudo 审计提权。具体做法见 SSH 安全配置。