甲骨文云实例如何开启根用户 root 登录权限配置?

文章导读
除非有明确的自动化运维或特定软件依赖需求,否则不建议在甲骨文云实例上直接开启 root 远程登录,优先使用默认用户配合 sudo 提权更安全;若必须开启,需修改 SSH 配置并确认安全列表放行 22 端口。
📋 目录
  1. 命令速用版
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
A A

除非有明确的自动化运维或特定软件依赖需求,否则不建议在甲骨文云实例上直接开启 root 远程登录,优先使用默认用户配合 sudo 提权更安全;若必须开启,需修改 SSH 配置并确认安全列表放行 22 端口。

先说结论:生产环境建议保持默认禁用状态,测试或特殊需求开启时需同步配置防火墙与密钥策略

  • 先判断:确认是否真的需要 root 直连,多数场景 sudo 即可满足
  • 优先做:先备份 sshd_config 配置文件,防止配置错误导致无法连接
  • 再验证:修改后保留当前会话,新开窗口测试 root 登录,避免把自己锁在外面

命令速用版

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

为什么会这样

甲骨文云提供的公共镜像出于安全基线考虑,默认禁用了 root 用户的密码登录和远程直连权限。默认账户(如 Oracle Linux 的 opc,Ubuntu 的 ubuntu)拥有 sudo 权限,这种设计是为了避免攻击者直接针对 root 账户进行暴力破解,同时保留操作审计痕迹。直接开启 root 登录会暴露最高权限入口,增加实例被入侵的风险。

分步处理

1. 使用默认用户登录实例
使用 SSH 密钥登录甲骨文云提供的默认用户,例如 Oracle Linux 使用 opc,Ubuntu 使用 ubuntu

甲骨文云实例如何开启根用户 root 登录权限配置?

2. 设置 root 密码
切换到 root 环境并设置密码,确保密码强度足够:

sudo -i
passwd root

3. 修改 SSH 配置文件
编辑 /etc/ssh/sshd_config 文件,找到以下配置项并修改:

甲骨文云实例如何开启根用户 root 登录权限配置?
PermitRootLogin yes
PasswordAuthentication yes

注意:如果文件中存在多行相同配置,确保生效的那一行未被注释,且值为 yes。

4. 重启 SSH 服务
应用配置更改:

systemctl restart sshd

5. 检查甲骨文云控制台安全列表
登录甲骨文云控制台,找到实例所在的虚拟云网络(VCN),检查安全列表(Security List)或网络安全组(NSG),确保入站规则允许 TCP 22 端口访问,否则即使服务器配置正确也无法连接。

甲骨文云实例如何开启根用户 root 登录权限配置?

怎么验证是否生效

不要关闭当前的 SSH 会话,打开一个新的终端窗口,尝试使用 root 账户和密码登录:

ssh root@你的实例公网 IP

如果能成功输入密码并进入命令行,说明配置生效。如果提示 Permission denied,请检查 /var/log/secure/var/log/auth.log 查看 SSH 服务日志。

常见坑

  • 把自己锁在外面:修改配置后务必先验证新会话,确认成功再关闭旧会话,防止配置错误导致无法连接。
  • 安全列表未放行:服务器内部配置好了,但甲骨文云控制台的安全列表没有放行 22 端口,导致连接超时。
  • 密钥认证优先:如果服务器配置了强制密钥认证,密码登录可能依然无效,需确认 PubkeyAuthentication 相关设置。
  • Fail2Ban 拦截:如果安装了 Fail2Ban 等安全软件,多次密码错误可能导致 IP 被临时封禁。