Rocky Linux 9 初次安装后启用 SSH Root 远程登录

[复制链接]
发表于 2026-10-6 12:43:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

Rocky Linux 9 由 CentOS 的几位发起人维护,目的是接住 CentOS 停止维护之后企业用户的迁移需求。它基于 Red Hat Enterprise Linux 9 的源码重建,兼容大部分 RHEL 生态的软件。出于安全考虑,Rocky Linux 9 默认禁止 SSH 用密码方式登录 root,只放行密钥登录。这在公网机器上是对的,但在内网运维、一次性交付或者临时排查的场景里,管理员常常需要把密码登录打开。本文记录完整步骤,以及打开之后必须补上的安全动作。

一、先搞清楚默认策略拦了什么

Rocky Linux 9 的 sshd 配置文件里,PermitRootLogin 这一项的默认值是 prohibit-password。它的含义不是「禁止 root 登录」,而是「root 只能走公钥,不许走密码」。所以如果你拿密码直连 root 会被直接拒绝,而用私钥仍然可以登进去。这个设计能挡掉绝大部分针对 root 的暴力破解。

另外还要确认 sshd 本身在跑:

systemctl status sshd

二、改配置:把 prohibit-password 改成 yes

编辑 SSH 服务端配置:

vi /etc/ssh/sshd_config

找到下面这一行(前面带 # 的是注释默认项):

#PermitRootLogin prohibit-password

把它改成:

PermitRootLogin yes

说明三点:一是这一行必须去掉行首的 # 才会生效,只改文字不改注释等于没改;二是 yes 表示同时放行密码和密钥两种方式的 root 登录,如果你只想保留密码、不要密钥,可以写 yes 但把 PasswordAuthentication 单独设成 yes;三是改完一定要保存退出。

三、让配置生效

改配置不会自动热加载,需要重启 sshd:

systemctl restart sshd

如果想先确认语法没问题,可以这样校验一遍:

sshd -t
systemctl reload sshd

sshd -t 没有输出就是配置合法,有报错就按提示改。

四、客户端侧的确认

从客户端连一下验证:

ssh root@服务器IP

能提示输密码并登录成功,这一步才算走完。如果还是被拒,按顺序查三处:服务器防火墙是否放行 22 端口(firewall-cmd --list-ports)、云厂商安全组是否放行、本机账号密码是否为空。

五、打开 root 密码登录之后的风险与应对

  • 限定来源 IP:在 sshd_config 里配 AllowUsers 或在防火墙上只放行办公网段,把暴露面收窄。
  • 换端口:把 Port 从 22 改成一个高端口,配合 SELinux 的 ssh 端口策略一起改,能显著降低扫描量。
  • 上失败锁定:装 fail2ban,对连续登录失败的来源 IP 自动封一段时间。
  • 密码要够长:root 密码是所有暴力破解脚本的第一目标,别用短密码或常见词。
  • 用完就关:临时排障结束后把 PermitRootLogin 改回 prohibit-password 并重启 sshd,这是个好习惯。

六、什么时候不建议开

如果这台机器直接暴露在公网,更推荐的做法是维持默认的密钥登录,管理员平时用普通账号登录再 sudo 提权,而不是开放 root 直登。真正需要高频操作的场景,可以配一张临时密钥、用完即删,比长期开放密码登录安全得多。

qidao123.com企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表