远程桌面(RDP 和 VNC)
Server Box 在 Android、iOS、Linux、macOS 和 Windows 上提供 RDP 与 VNC 客户端。客户端会
通过服务器已有的连接访问桌面:使用 SSH,或启用了 remote_access.full_access 的
Monitor agent。这样无需将桌面端口暴露到运行 Server Box 的网络。
- 在 Server Box 中为服务器配置 SSH,或配置已启用
remote_access.full_access的 Monitor agent。两种方式都可用时,应用会先尝试服务器设置中的优先连接方式,失败后 再回退到另一种方式。 - 打开远程桌面主标签并选择服务器,也可以从该服务器的详情页进入。
- 为桌面添加连接配置。同一服务器内的配置名称不能重复。
- 选择 Connect 可打开会话或切换到已有会话。使用 Edit 修改配置;编辑页中的 Test 会按当前表单内容连接,并替换该配置已有的会话。
目标地址从服务器所在的网络解析,而不是从运行 Server Box 的手机或电脑解析。默认目标 如下:
| 协议 | 默认目标 |
|---|---|
| RDP | 127.0.0.1:3389 |
| VNC | 127.0.0.1:5900 |
如果桌面服务运行在服务器本机,可以使用默认目标;也可以填写该服务器能够访问的内网地址。
SSH 连接沿用终端和端口转发使用的认证方式及跳板机设置。使用 Monitor agent 时,由
agent 所在机器以其运行账户连接目标;该方式要求启用 remote_access.full_access。App 只会
在连接目标为本机回环地址时,通过明文 HTTP 连接 Monitor agent。
除非启用保存密码,密码不会持久保存。连接时输入的密码只保留在当前会话的内存中,供 该会话重连使用。保存的密码会写入 Server Box 加密数据库,也会包含在加密备份和同步数据 中;通过服务器二维码分享时不会包含远程桌面密码。
验证 RDP 证书
Section titled “验证 RDP 证书”Server Box 会先使用系统信任库验证 RDP 服务器证书。证书受信任且名称与目标地址匹配时, 应用会直接继续连接。
如果证书是自签名证书、签发者未知或名称不匹配,Server Box 会在发送凭据前中止连接,并 显示证书身份和 SHA-256 fingerprint:
- 通过独立的可信渠道核对 fingerprint。
- 选择信任并重新连接,将该证书加入此配置的信任记录。
- 后续连接只接受相同的 fingerprint。
- 如果证书发生变化,连接会被阻止。核实新 fingerprint 后再选择替换信任。
修改配置中的协议、目标主机或端口会清除已保存的证书信任。日志和诊断信息不会包含密码、 剪贴板文本或证书内容。
远程桌面标签可以同时保留多个 RDP/VNC 会话。宽窗口会在当前桌面旁显示会话列表, 列表栏可以调整宽度或折叠;窄窗口可点按顶部的会话名称切换会话。
查看器支持适应窗口、1:1 和固定缩放、全屏、重连、关闭、只读模式、发送剪贴板、软键盘 和 Ctrl+Alt+Delete。桌面平台还支持实体键盘、鼠标左/中/右键和滚动。键盘焦点离开查看器 时,应用会释放仍处于按下状态的 RDP 按键。
手机和平板默认使用触控板模式:单指移动指针并点按操作,双指右键或滚动,双指捏合缩放。 直接指针模式则将触摸位置映射到远程桌面的对应位置。
RDP 支持文本剪贴板双向同步。经典 VNC 剪贴板使用 Latin-1;遇到无法表示的文本时, Server Box 会拒绝发送,避免字符损坏。RDP 可以根据查看器调整远程分辨率;VNC 使用服务端 提供的画面尺寸。
传输失败后,Server Box 会分别等待 1、2、5 秒后重试。每次重试都会重新确认连接,并创建 只监听本机回环地址的临时隧道。认证失败、证书被拒绝或配置无效时不会自动重试。
桌面平台和 Android 会在操作系统允许时使用应用现有的后台行为。iOS 可能暂停后台网络 活动;返回应用后,Server Box 会检查会话,并在需要时重新连接。
协议支持范围
Section titled “协议支持范围”- **RDP:**支持 TCP、TLS、CredSSP/NLA、图形、键盘与指针输入、动态分辨率和文本 CLIPRDR。 用户名/密码和可选域主要使用 NTLM;不保证支持 Kerberos。
- **VNC:**支持 RFB 3.3、3.7、3.8,以及 None 和经典 VNC Authentication。经典 VNC 密码 最多为 8 个 ASCII 字节。支持 Raw、CopyRect、ZRLE、Tight、Tight JPEG、光标和桌面尺寸更新。
- VNC 暂不支持 VeNCrypt、SASL、Apple Remote Desktop 认证和 RealVNC 私有认证。
- 暂不支持音频、麦克风、多显示器、RemoteApp、RDP Gateway、UDP,以及文件、磁盘、打印机、 USB 或智能卡重定向。
协议实现、依赖、代码生成和平台验证说明见远程桌面开发说明。