安全连接与工具链验证

通过 VNC 与 SSH 连接你的云端 Mac

先核对节点状态与主机指纹,再建立图形或命令行会话。本指南覆盖首次登录、密钥配置、Xcode 构建验证、远程体验优化和故障定位。

连接地址、用户名和临时凭据只在订单完成节点检查后提供。可用性与连接参数以控制台实时返回为准。

开始之前

先确认六项连接条件

不要从反复重试密码开始。先检查节点、区域、凭据和本地网络,可以快速区分交付问题、认证问题与链路问题。

节点状态

登录控制台确认实例处于可连接状态,并记录节点 ID。节点仍在初始化时,不要保存尚未确认的主机指纹。

状态正常后连接

节点区域

核对订单区域与实例区域是否一致。当前目录覆盖新加坡、日本(东京)、韩国(首尔)、香港、美国东部、美国西部六个区域。

Region / Node ID

用户名与临时凭据

完整复制控制台提供的用户名,区分大小写。首次登录后立即更新临时密码,并优先为 SSH 配置密钥认证。

不要通过普通邮件转发凭据

本地网络

先在稳定有线网络或可靠 Wi-Fi 下测试。企业代理、访客网络和公共热点可能限制 SSH 或 VNC 所需端口。

先排除 VPN 与代理规则影响

系统防火墙

确认本地防火墙允许所用客户端建立出站连接。若通过办公网络接入,请让网络管理员核对目标地址和端口策略。

SSH 22 / VNC 5900

连接信息一致性

比较主机地址、端口、用户名和区域四项。旧节点保存的客户端配置不应直接复用于新分配的物理节点。

新节点建立新的连接配置
安全边界

只从控制台读取连接参数。不要把私钥、完整密码、访问令牌或未经脱敏的构建日志提交到普通文档和代码仓库。

图形界面

用 VNC 完成首次图形连接

VNC 适合 Xcode 图形界面、签名归档检查和需要桌面交互的任务。首次连接按顺序完成地址、认证、画质与退出设置。

  1. 01

    填写控制台返回的地址与端口

    在 VNC 客户端新建连接,逐字复制主机地址。若控制台给出自定义端口,以该端口为准,不要自行猜测或沿用旧实例参数。

    检查点:客户端配置中的区域标签应与订单区域一致。
  2. 02

    使用节点用户名完成身份验证

    输入控制台提供的节点用户名和临时凭据。连续失败时先停止尝试,重新复制用户名并检查键盘布局,避免因重复错误触发安全限制。

    检查点:确认没有复制到凭据前后的空格或换行。
  3. 03

    根据链路调整显示质量

    先使用自适应分辨率和中等色彩质量建立稳定基线。跨洲连接可降低分辨率、色彩深度和刷新频率,再逐项提升画质。

    建议起点:1920 × 1080,缩放 100%,动态画质开启。
  4. 04

    先用无敏感内容验证剪贴板

    复制一段普通文本,确认本地与远端双向剪贴板是否符合预期。不要用密码、私钥或访问令牌测试剪贴板功能。

    边界:团队共享环境应按需关闭剪贴板同步。
  5. 05

    退出会话,不直接中断任务

    关闭窗口前确认构建是否在前台运行。持续任务应交给 CI runner、launchd 或终端会话管理工具,避免 VNC 断开导致前台进程终止。

    检查点:退出后在控制台确认节点仍正常运行。
命令行访问

用 SSH 建立可审计的开发入口

SSH 适合仓库同步、依赖安装、自动化构建和日志采集。首次连接的重点不是尽快跳过提示,而是核对主机指纹并收敛长期权限。

指纹不一致时立即停止

不要直接删除本地记录后继续连接。先确认节点是否发生重装、重新分配或地址变化,再通过控制台工单核验。

01

核对主机指纹

首次连接时,把终端显示的指纹与控制台提供的信息逐段比较。节点地址相同但指纹变化,应按安全事件处理,而不是忽略警告。

02

优先使用密钥登录

为不同成员和自动化任务使用独立公钥。私钥保留在受控设备或密钥管理系统中,不上传到节点共享目录。

03

收敛文件与命令权限

私钥文件权限设为仅当前用户可读。CI 任务只授予构建所需目录和命令权限,不把管理员权限作为默认运行方式。

04

更新临时密码

首次登录完成后立即设置独立高强度密码。确认密钥登录正常,再按团队策略限制密码认证,避免先关闭唯一可用入口。

生成独立 SSH 密钥

ssh-keygen -t ed25519 -a 64 -f ~/.ssh/hexvm_node
chmod 600 ~/.ssh/hexvm_node
ssh-add ~/.ssh/hexvm_node

为成员、CI runner 和临时运维任务分别生成密钥,便于单独撤销。

建立首次连接

ssh-keyscan -p "$NODE_PORT" "$NODE_HOST"
ssh -i ~/.ssh/hexvm_node \
  -p "$NODE_PORT" "$NODE_USER@$NODE_HOST"

先核验输出指纹,再接受主机记录。变量值从控制台复制,不在脚本中提交真实凭据。

开发工具链验证

从 SSH 登录到归档成功

连接建立后,用版本查询、测试构建和归档命令验证环境。先跑小范围检查,再接入完整流水线。

hexvm-node — zsh — 120 × 34 SSH
$ssh -i ~/.ssh/hexvm_node "$NODE_USER@$NODE_HOST"
Authenticated with public key.
Last login: current session from approved network
$sw_vers && xcodebuild -version
ProductName: macOS
Xcode 16.x
$xcodebuild test -scheme MobileApp -destination 'platform=macOS'
** TEST SUCCEEDED **
$bundle exec fastlane archive
Resolving signing settings...
Exporting archive artifact...
Archive completed successfully

先确认版本

记录 macOS、Xcode 和命令行工具版本,确保交互终端与 CI runner 使用同一套工具链选择。

再执行最小测试

先运行单一 scheme 或测试目标,排除依赖、签名和环境变量问题,再扩大到完整工作区。

最后接入归档

归档成功后检查制品路径、文件权限和日志脱敏规则,再把命令迁移到自动化流水线。

网络延迟参考

六个节点区域的往返延迟中位数

以下数据用于区域初筛,不代表每条网络的固定结果。正式选择前,应从实际办公网络和 CI 出口重复测试。

测试时段 工作日当地时间 14:00–16:00
网络口径 当地固定宽带,关闭 VPN 与代理
统计方式 每条路径 20 次 ICMP 往返中位数
单位 ms
主要客户端测试点到六个 HexVM 节点区域的网络延迟中位数
客户端测试点 新加坡 日本(东京) 韩国(首尔) 香港 美国东部 美国西部
北京固定宽带 78 ms 54 ms 47 ms 42 ms 198 ms 146 ms
上海固定宽带 69 ms 41 ms 49 ms 35 ms 190 ms 132 ms
台北固定宽带 48 ms 32 ms 43 ms 24 ms 181 ms 112 ms
马尼拉固定宽带 39 ms 71 ms 76 ms 36 ms 214 ms 139 ms
洛杉矶固定宽带 177 ms 104 ms 119 ms 151 ms 68 ms 21 ms
纽约固定宽带 231 ms 168 ms 181 ms 205 ms 19 ms 73 ms
< 60 ms

适合持续图形操作

键盘输入、窗口切换和常规 Xcode 操作通常较顺畅,仍需观察丢包和抖动。

60–140 ms

适合构建与轻量交互

降低画质后可进行图形操作,命令行构建、日志查看和 CI 任务通常不受明显影响。

> 140 ms

优先命令行与自动化

跨洲链路建议把持续工作交给 SSH、CI runner 和后台任务,VNC 仅用于必要检查。

实际延迟受本地运营商、国际出口、路由变化、办公代理、Wi-Fi 质量与同时段流量影响。区域目录中的组合常态可订,实际可用性以控制台实时返回为准。

体验优化

让远程会话稳定,而不是只追求最高画质

把交互任务、持续任务和大文件传输拆开处理,可以减少网络抖动对构建流程的影响。

01

分辨率从单屏基线开始

先使用单屏 1920 × 1080 建立稳定基线。高延迟链路避免直接启用双屏、高缩放和频繁动态调整。

  • 文字过小时先调整系统缩放,不盲目提升分辨率。
  • 移动网络下优先固定窗口尺寸,减少重复画面重绘。
02

按链路选择色彩质量

代码编辑、构建日志和配置操作不需要最高色彩精度。链路波动时先降低色彩深度和图像质量,再观察输入延迟。

  • 设计检查与视频任务可临时提高画质。
  • 常规开发优先使用自适应压缩和静态背景。
03

关闭不需要的音视频传输

远程开发以代码、终端和构建状态为主。关闭未使用的音频、摄像头重定向和动画效果,可减少带宽占用。

  • 避免在 VNC 会话中播放高码率媒体。
  • 关闭无关桌面动态效果和持续刷新的监控窗口。
04

持续任务脱离交互会话

长时间构建、测试和依赖下载应在独立终端会话、CI runner 或系统任务中执行。VNC 或 SSH 断开不应直接结束任务。

  • 给任务写入独立日志文件并记录退出码。
  • 重新连接后先检查进程状态,不重复启动同一构建。
05

大文件采用可恢复传输

仓库、缓存和构建制品使用支持增量与校验的传输方式。不要通过图形剪贴板搬运大文件,也不要把敏感制品放入公开位置。

  • 传输前压缩大量小文件,减少往返开销。
  • 完成后校验文件大小、摘要与访问权限。
06

把缓存放在正确的位置

依赖缓存和 DerivedData 应按项目、分支或工具链版本隔离。命中率下降时先分析缓存键,不要无限扩张磁盘占用。

  • 定期清理失效缓存和旧归档。
  • 磁盘不足时先定位大目录,再执行删除操作。
故障定位

按症状缩小连接问题范围

每次只改变一个变量,并记录节点 ID、区域、发生时间和完整错误文本。这样才能判断问题位于本地、网络、认证还是节点侧。

连接超时:客户端长时间没有响应
  1. 在控制台确认节点状态和连接地址没有变化。
  2. 核对端口,临时关闭本地 VPN 或代理后重新测试。
  3. 分别使用家庭网络与移动热点测试,用于判断办公网络是否限制出站连接。
  4. 记录超时发生的时间、区域、客户端网络和目标端口,再提交控制台工单。
认证失败:用户名、密码或密钥被拒绝
  1. 重新复制控制台返回的用户名,检查大小写和首尾空格。
  2. 确认使用的是当前节点凭据,不是旧实例保存的密码或密钥。
  3. SSH 密钥失败时检查私钥路径、文件权限和对应公钥是否已配置。
  4. 连续失败后停止重试,通过控制台工单申请核验,不在邮件中发送完整凭据。
画面卡顿:可以连接但输入延迟明显
  1. 降低到单屏 1920 × 1080,关闭高色彩质量与音视频传输。
  2. 检查本地 Wi-Fi 信号、丢包和后台下载,优先切换到有线网络。
  3. 比较 VNC 与 SSH 的响应;若 SSH 正常,优先调整图形编码和显示参数。
  4. 跨洲访问时把长构建放入后台,只通过 VNC 检查关键界面。
主机指纹变化:SSH 显示身份警告
  1. 立即停止连接,不要直接使用跳过检查的命令。
  2. 确认节点是否重新分配、重装,或连接地址是否来自旧配置。
  3. 从控制台重新取得当前指纹并逐段核对。
  4. 无法确认原因时提交控制台工单,附节点 ID、区域和脱敏后的警告文本。
端口不可达:网络测试直接返回拒绝
  1. 确认所用协议与端口匹配,不把 SSH 端口填入 VNC 客户端。
  2. 检查本地防火墙、企业出口策略和安全软件的出站规则。
  3. 从另一条独立网络测试相同地址与端口,判断是否为单一运营商路径问题。
  4. 若多条网络均不可达,提交控制台工单并注明测试结果和影响范围。

提交工单前准备这些信息

节点 ID 节点区域 问题发生时间 本地网络类型 客户端与版本 完整复现步骤 脱敏错误日志 影响范围

不要提交私钥、完整密码、访问令牌或包含敏感签名材料的日志。需要进一步协助时,登录控制台提交工单,或发送邮件至 support@hexvm.com

独享 Apple Silicon 节点

选择你的独享 Mac,约 4 分钟开始连接

每笔订单对应独立 Mac mini 物理节点,非虚拟机。新加坡、日本(东京)、韩国(首尔)、香港、美国东部、美国西部六个区域全年 365 天正常运行。

所有费用均以美元(USD)结算。节点与区域的实际可用性以控制台实时返回为准。