甲骨文云 Ubuntu 20.04 如何开启 root 密码登录?

文章导读
默认情况下 Ubuntu 出于安全考虑禁止 root 密码登录,建议继续使用 sudo 提权;若业务必须,可修改 SSH 配置开启。
📋 目录
  1. 命令速用版
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
A A

默认情况下 Ubuntu 出于安全考虑禁止 root 密码登录,建议继续使用 sudo 提权;若业务必须,可修改 SSH 配置开启。

先说结论:生产环境不建议开启,测试或特定管理需求可临时开启,操作前务必确保有备用连接方式。

  • 适合:特定管理需求或兼容旧脚本
  • 先准备:备份 SSH 配置并确保有备用连接方式
  • 验收:测试远程登录并检查日志

命令速用版

sudo passwd root
sudo vi /etc/ssh/sshd_config
# 修改 PermitRootLogin yes
# 修改 PasswordAuthentication yes
sudo systemctl restart ssh

为什么会这样

Ubuntu 镜像默认禁用 root 密码登录是为了防止暴力破解和误操作。系统预设使用普通用户(如 ubuntu)配合 SSH 密钥认证,再通过 sudo 提权。直接开放 root 密码会增加被扫描攻击的风险,且一旦密码泄露,攻击者将获得最高权限。

分步处理

1. 设置 root 密码

在终端执行以下命令,按提示输入两次新密码:

sudo passwd root

2. 修改 SSH 配置文件

甲骨文云 Ubuntu 20.04 如何开启 root 密码登录?

使用编辑器打开配置文件,找到以下两行配置项。如果前面有#号,需要去掉注释:

sudo vi /etc/ssh/sshd_config

将配置修改为:

PermitRootLogin yes
PasswordAuthentication yes

注意:Ubuntu 20.04 中默认可能是 prohibit-password,需改为 yes 才允许密码登录。

3. 重启 SSH 服务

甲骨文云 Ubuntu 20.04 如何开启 root 密码登录?

修改配置后需重启服务生效:

sudo systemctl restart ssh

如果重启失败,不要关闭当前终端,先检查配置语法:

sudo sshd -t

怎么验证是否生效

1. 本地或另一台机器尝试登录:

ssh root@你的实例公网 IP

2. 输入设置的 root 密码,若能进入 shell 即成功。

3. 查看认证日志确认登录记录:

甲骨文云 Ubuntu 20.04 如何开启 root 密码登录?
sudo tail -f /var/log/auth.log

常见坑

1. 配置错误导致无法连接:修改 sshd_config 前务必复制一份备份,例如 cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak。若重启后无法连接,需通过甲骨文云控制台的 VNC 终端恢复配置。

2. 防火墙拦截:甲骨文云实例除了系统内部防火墙,还有控制台的安全列表(Security List)。确保入站规则允许 TCP 22 端口,否则改配置也无法连接。

3. 安全组与 NSG:如果实例关联了网络安全组(NSG),需同时检查 NSG 规则是否放行 SSH 流量。

4. 避免长期开放:业务完成后建议改回 PermitRootLogin prohibit-password 或 no,降低被扫描风险。