Skip to content

用 VNC 远程查看和操作实例屏幕

最后更新 查看 Markdown

VNC 直接连接实例的虚拟屏幕,不经过操作系统的网络栈。即使实例没有配置公网 IPv4、22 端口的 SSH 完全连不上,或者系统卡在启动过程中毫无响应,VNC 通常仍然能显示屏幕内容。控制台自己的说明是:"VNC 连接可用于在实例出现异常时远程查看实例的状态,以便进行故障排查和问题诊断。"

打开 VNC 入口本身不检查实例是否在运行——只要实例由 PVE 承载、没有被安全锁定,连接按钮就可用。真正决定你能不能用键盘鼠标操作屏幕的,是实例当下的电源状态,见下文的只读模式部分。

Ctrl+Alt+Del 会直接重启 Linux 实例,不是弹出登录界面

工具栏上的 Ctrl+Alt+Del 按钮,在 Windows 和 Linux 实例上做的是完全不同的两件事:

会发生什么 不会发生什么
按钮把 Ctrl、Alt、Delete 三个键的原始按下与释放信号发给客户机操作系统,效果等同于在物理键盘上按下这个组合键 不会调用任何 Cypacky 后端 API——平台只是转发按键,不知道、也不记录这是一次重启
在 Linux 上,这个组合键默认由 systemd 的 ctrl-alt-del.target 接住,等同于执行 systemctl reboot,立即触发一次正常重启 不会先弹出确认对话框——点击图标的瞬间,按键就已经发出
在 Windows 上,同样的按键组合触发的是安全登录序列,弹出登录、锁定或切换用户的界面 不会因为客户机是 Windows 还是 Linux 而改变前端行为——发出的是同一段按键,差异完全来自客户机系统自己的处理方式
重启走的是 systemd 的正常关机流程,磁盘上已保存的数据不受影响 不会保留重启瞬间尚未保存的内存态数据——未保存的编辑内容、未提交的事务、正在进行的传输都会被中断,且无法找回

只读模式下这个按钮会被禁用,见下文的只读模式部分。

界面示意图:VNC 工具栏,光标悬停在 Ctrl+Alt+Del 图标按钮上,弹出提示文字「Linux:点击直接重启系统;Windows:用于启动登录界面」

开始之前

  • 实例由 PVE 承载:VNC 通道由 Proxmox VE 提供,只对由 PVE 承载的实例开放。不满足时按钮呈禁用状态,界面提示:"此实例不支持 VNC 连接。"
  • 实例未被安全锁定:这一条同时决定启动连接按钮是否可点击——只要实例未被锁定,无论实例是否在运行,按钮都是可用的。一旦实例因安全投诉被锁定,申请连接会失败,返回:"此实例因安全投诉已被锁定,无法使用 VNC。"
  • 实例未在等待支付激活:这一条不影响按钮是否可点击,只在实际申请连接时才校验。等待支付激活的实例申请连接会失败,返回:"此实例正在等待支付激活,当前无法使用 VNC。"
  • 实例账单状态正常:同样只在申请连接时校验,不影响按钮外观。欠费的实例申请连接会失败,返回:"此实例当前处于欠费状态,当前无法使用 VNC。"

以上三条提示都是后端硬编码的简体中文,不经过任何多语言字典,无论控制台界面语言设置为简体、繁体还是英文,看到的都是这段简体文字。

打开 VNC 控制台

  1. 在实例详情页,选择连接标签页。
  2. 在"VNC 连接"卡片中,选择启动连接。
  3. 控制台打开新的 VNC 视图。状态栏先显示"正在连接到实例...",连接成功后变为"已连接"。
界面示意图:实例详情页的「连接」标签页,「VNC 连接」卡片,卡片说明文字和「启动连接」按钮

连接令牌只在 60 秒内一次有效

每次选择启动连接,控制台都会向后端申请一份全新的连接凭证:一个一次性 RFB 密码和一个只在 60 秒内有效的连接令牌。令牌一旦被用来建立连接,服务端会立即删除它,同一个令牌无法用来连接第二次。

这意味着带令牌参数的 VNC 连接地址不能分享给别人。对方要么抢在你之前把令牌用掉,导致你自己连不上;要么两人都还没连接令牌就已经过期,双方都会连接失败。工具栏的重连按钮和断线后的自动重连,都会重新申请一份新令牌,而不是把旧令牌刷新后继续用。

只读模式与可交互模式

VNC 是否显示画面,和是否允许你用键盘鼠标操作,是两件独立的事。是否可交互取决于实例当下的电源状态:

实例状态 键盘、鼠标和剪贴板
正在运行、故障、正在停止 可交互
其他状态,例如已停止、待配置、维护中 只读,工具栏的 Ctrl+Alt+Del 等操作按钮被禁用

只读状态下,工具栏图标的悬浮提示会替换成:"当前实例状态仅允许查看,键盘、鼠标和剪贴板输入已禁用。"

界面示意图:只读模式下的 VNC 视图,工具栏上 Ctrl+Alt+Del 等按钮呈禁用状态,光标悬停显示「当前实例状态仅允许查看,键盘、鼠标和剪贴板输入已禁用」提示

VNC 无法打开时

VNC 打不开有几种不同的原因,控制台会原样显示后端返回的提示文字,下面按触发场景分类说明。

实例不支持 VNC 连接

此实例不支持 VNC 连接。

实例不是由 PVE 承载,或者存在其他兼容性限制。连接按钮会保持禁用状态。

实例因安全投诉被锁定

此实例因安全投诉已被锁定,无法使用 VNC。

通过工单联系 Cypacky Support 了解原因和解锁条件。

实例正在等待支付激活

此实例正在等待支付激活,当前无法使用 VNC。

先完成支付,实例激活后再重试。

实例处于欠费状态

此实例当前处于欠费状态,当前无法使用 VNC。

结清欠费后即可重试。

VNC 服务暂时不可用

申请连接凭证的过程涉及多个后端步骤:解析实例所在节点、向 PVE 申请 vncproxy、生成一次性令牌、写入连接会话。其中向 PVE 申请代理这一步失败时,返回:

VNC 服务暂时不可用,请稍后再试

其余步骤(解析节点信息、生成令牌、写入会话)失败时,返回:

VNC 连接信息获取失败,请稍后再试

两种情况都值得稍等片刻重试;如果反复出现,记录实例 ID 和时间,联系 Cypacky Support。

连接中的常见问题

  • 获取VNC密码失败:重新连接时向后端请求新令牌失败。检查网络后重试;切换浏览器标签页或窗口失去焦点会暂停自动重连,切回页面后手动选择重连。
  • 无法粘贴:未连接到实例:VNC 尚未建立连接就打开了剪贴板粘贴框。等待状态变为"已连接"后再粘贴。
  • 请输入要发送的内容:粘贴框内容为空时选择了发送。
  • 全屏失败 / 退出全屏失败:浏览器拒绝了全屏请求,通常发生在权限受限的浏览器标签页中。刷新页面后重试,或改用浏览器自带的全屏方式。

相关文档

这篇文档对你有帮助吗?