Oracle Cloud 实例控制台连接指南
本文适合无法通过 SSH 登录 Oracle Cloud 实例、需要系统恢复或进 BIOS 的用户。你会学到:CloudShell 串口连接、通过 Linux 跳板机用 VNC 连接实例,以及重启时进入 BIOS 的按键时机。
原文链接: https://telegra.ph/OracleCloudInstancesConsoleConnection-10-02
概述
本指南介绍如何通过控制台连接到 Oracle Cloud 实例,涵盖三种连接方法用于系统恢复和 BIOS 访问。
连接方法
方法一:串行控制台 (CloudShell)
这是最快速的连接方法,直接通过浏览器访问。
操作步骤:
- 登录 OCI 控制台
- 导航到:实例 → OS 管理 → 控制台连接
- 启动 CloudShell 连接进行文本访问
特点:
- ✅ 最快速的方法
- ✅ 基于浏览器,无需额外工具
- ⚠️ 可能存在权限限制
方法二:通过 Linux 跳板机使用 VNC(推荐)
这是最推荐的方法,涉及三台机器:
机器角色:
- 机器 A: 需要恢复的 Oracle 实例
- 机器 B: Ubuntu/Debian VPS 跳板机
- 机器 C: 你的本地计算机
步骤 1:在跳板机上生成 SSH 密钥
在机器 B(跳板机)上执行:
ssh-keygen -t rsa -b 2048
查看公钥:
cat ~/.ssh/id_rsa.pub
步骤 2:在 OCI 创建控制台连接
- 进入 Oracle Cloud 控制台
- 找到目标实例
- 导航到:实例详情 → 资源 → 控制台连接
- 创建新的控制台连接
- 粘贴跳板机的公钥
- 记录连接信息(连接 OCID 和 VNC 连接字符串)
步骤 3:建立 VNC 隧道
在机器 B(跳板机)上执行 VNC 连接命令(从 OCI 控制台复制):
ssh -o ProxyCommand='ssh -W %h:%p -p 443 \
ocid1.instanceconsoleconnection.oc1...[YOUR_OCID]@instance-console.[region].oraclecloud.com' \
-N -L 5900:ocid1.instance.oc1...[YOUR_INSTANCE_OCID]:5900 \
ocid1.instanceconsoleconnection.oc1...[YOUR_CONNECTION_OCID]@instance-console.[region].oraclecloud.com
步骤 4:从本地连接到跳板机
在机器 C(本地计算机)上建立 SSH 隧道:
ssh -L 5900:localhost:5900 user@jumphost-ip
步骤 5:使用 VNC 客户端连接
在本地计算机上使用 VNC 客户端连接到:
localhost:5900
方法三:Windows 直接 VNC
注意: 此方法较为复杂,文章建议避免使用此方法。
访问 BIOS
CloudShell 方法
- 在 OCI 控制台中启动实例重启
- 在启动过程中快速按
ESC键 - 使用键盘方向键导航 BIOS 菜单
VNC 方法
- 在 OCI 控制台中启动实例重启
- 在启动过程中快速按
F2键 - 使用键盘方向键导航 BIOS 菜单
SSH 配置问题
如果遇到 SSH 连接问题,可能需要在 SSH 配置文件中添加以下内容:
编辑 ~/.ssh/config 文件:
Host *
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
这将启用对旧版 SSH-RSA 算法的支持。
验证与自查
- CloudShell 串口连接后能出现登录提示符(
login:),说明实例系统仍在运行 - VNC 连接
localhost:5900能显示完整图形界面 - 重启后按住
ESC(CloudShell)或F2(VNC)能进入 BIOS 菜单 - 实例能通过控制台连接正常关机/重启操作
注意事项
CloudShell 方法
- 最简单快速
- 适合紧急情况
- 可能受权限限制
VNC 跳板机方法
- 最稳定可靠
- 需要额外的 VPS 作为跳板机
- 提供完整的图形界面访问
BIOS 访问时机
- 需要在实例重启后立即按键
- CloudShell 使用 ESC 键
- VNC 使用 F2 键
安全建议
- 妥善保管 SSH 私钥
- 定期更新控制台连接密钥
- 使用强密码保护跳板机