注意:
- 本教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure 免费套餐。
- 它对 Oracle Cloud Infrastructure 身份证明、租户和区间使用示例值。完成实验室后,请使用特定于云环境的那些值替换这些值。
使用带安全 Shell 隧道的 VNC Viewer 连接到 Windows Oracle Cloud Infrastructure Compute 实例
简介
Oracle Cloud Infrastructure (OCI) 支持用户通过控制台连接访问虚拟机 (VM) 实例。如果标准远程桌面协议 (Remote Desktop Protocol,RDP) 或安全 Shell (Secure Shell,SSH) 访问不可用,则可以使用 VNC Viewer 通过安全 SSH 隧道访问实例。本教程将指导您使用 SSH 设置与 OCI 计算实例的 VNC 连接。
目标
- 使用带有 SSH 隧道的 VNC Viewer 连接到 OCI 计算实例。
先决条件
-
正在运行的 OCI 计算实例。
-
为您的实例创建的控制台连接。
-
与 OCI 计算实例关联的私有 SSH 密钥 (
.key
) 文件。 -
各自操作系统的 SSH 客户机。
-
MacOS/Linux:内置的
ssh
命令行实用程序终端。 -
Windows:使用 PuTTY 或 Git Bash 。
-
-
VNC Viewer 或 VNC 客户机(如 RealVNC 或 TigerVNC )。
注:在本教程中,我们使用的是 Windows 服务器和 RealVNC 查看器。
任务 1:验证 OCI 计算实例控制台连接
确保已在 OCI 控制台中创建控制台连接。
-
登录到 OCI 控制台,导航到计算并单击实例。
-
选择您的实例。
-
单击控制台连接和创建控制台连接。
-
单击 Copy VNC connection for Linux/Mac 。
任务 2:为 VNC 建立 SSH 隧道
我们需要创建一个 SSH 隧道,将端口 5900
上的 VNC 流量从本地计算机转发到 OCI 计算实例。
-
在替换必要的部分时更新以下命令,然后在终端中运行该命令。
ssh -i replace-ssh-key.key \ -o ProxyCommand="ssh -i replace-ssh-key.key -W %h:%p -p 443 \ ocid1.instanceconsoleconnection.xxxxxxxxxxxxxxxxxxxxx@instance-xxxxxxxxxx.xxxxxxxxxxx" \ -o HostKeyAlgorithms=+ssh-rsa \ -o PubkeyAcceptedAlgorithms=+ssh-rsa \ -N -L localhost:5900:ocid1.instance.oc1.xxxx.xxxxx:5900 \ ocid1.instance.xxxxxxxxxxxxxxxxxxxxxxxxxxx
注:命令的解释:
ssh -i replace-ssh-key.key:
使用您的专用 SSH 密钥。-o ProxyCommand="ssh -i replace-ssh-key.key -W %h:%p -p 443":
使用中间连接来隧道请求。-o HostKeyAlgorithms=+ssh-rsa
和-o PubkeyAcceptedAlgorithms=+ssh-rsa
:启用传统 RSA 密钥验证。-N
:阻止执行远程命令(仅用于隧道连接)。-L localhost:5900:...:5900
:将本地端口5900
映射到远程实例端口5900
。ocid1.instance...
:指定 OCI 实例的 OCID。
-
运行此命令后,系统可能会提示您接受带有 yes 或 no 选项的 SSH 密钥。输入 Y 并按 Enter 继续。
一旦命令成功运行,您将不会在终端中看到任何输出或提示符,这是预期的。请勿关闭终端会话,因为这将确认已成功建立 SSH 隧道。
可能的错误和修复
-
错误 1:
Unable to negotiate with UNKNOWN port 65535: no matching host key type found
。- 修复:确保使用
-o HostKeyAlgorithms=+ssh-rsa
选项启用ssh-rsa
。
- 修复:确保使用
-
错误 2:
Permission denied (publickey)
。- 修复:确保使用了正确的私钥并具有正确的权限 (
chmod 600 replace-ssh-key.key
)。
- 修复:确保使用了正确的私钥并具有正确的权限 (
任务 3:使用 VNC Viewer 连接到 OCI 计算实例
建立 SSH 隧道后,您可以使用 VNC Viewer 连接到 OCI 计算实例。
-
打开 VNC Viewer(RealVNC、TigerVNC 或任何其他 VNC 客户机)。
-
在 VNC Server(VNC 服务器)中,输入
localhost:5900
,然后单击 OK(确定)。 -
单击连接,如果出现提示,请单击继续。
-
将打开 VNC 连接窗口。将光标移到 RealVNC Viewer 窗口的顶部,然后单击 Press Ctrl + Alt + Delete 以取消锁定以打开 Windows 登录屏幕。输入实例的用户名和密码以访问计算环境。
验证和故障排除
如果连接失败,请确保 SSH 隧道仍在运行,并验证端口 5900
是否正确映射。检查 OCI 安全规则以允许控制台访问。
后续步骤
现在,您已通过 SSH 隧道成功与 OCI 计算实例建立 VNC 连接。此方法对于排除不可访问的实例或直接 SSH/RDP 连接失败的情况非常有用。
如果您需要进一步定制,请考虑添加其他安全措施,例如使用防火墙或 VPN 隧道限制访问。
相关链接
确认
- 作者 — Akarsha I K(云架构师)
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 渠道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Connect to Windows Oracle Cloud Infrastructure Compute Instances using VNC Viewer with Secure Shell Tunnel
G27532-01
February 2025
Copyright ©2025, Oracle and/or its affiliates.