远程接入指南

三种方式,
连上你的云端 Mac

需要图形界面,就用 VNC 或 macOS 屏幕共享;只跑构建和脚本,就用 SSH。你连接的是一台独享 Apple Silicon 物理节点,不是虚拟机。

已有订单?在控制台的实例详情中核对 IP、用户名和接入端口,再按下方步骤连接。本文中的主机地址与端口是配置示例。

AV / ACCESS / 03 一台节点,两条工作路径
GUI

看桌面,完成交互操作

本地 VNC 客户端或 macOS 屏幕共享

SSH 隧道 → 节点图形桌面
CLI

不传画面,执行构建任务

本地终端或 CI runner

SSH → 命令行与构建进程
交付形态
独享物理机
连接资料
控制台实例详情
端口示例
SSH 22 / VNC 5900
推荐做法
密钥登录 + 图形隧道

端口以实例实际交付信息为准。VNC 与屏幕共享通常使用同一图形服务,不代表两套独立桌面。

先按任务选协议

桌面操作与自动化,各走合适的路径

图形界面 / 跨平台

VNC

适合 Windows、Linux 和 iPad 用户。远程打开 Xcode、检查构建设置、处理需要点击确认的系统对话框。

  • 填写主机地址、端口及图形服务要求的认证信息。
  • 优先通过 SSH 隧道接入,不把普通 VNC 连接等同于加密连接。
  • 客户端需支持节点启用的认证方式;协议不匹配时先更换认证设置。

选择依据:本地不是 Mac,但需要完整 macOS 图形界面。

图形界面 / Mac 客户端

macOS 屏幕共享

本地使用 Mac 时的首选。直接调用系统自带的屏幕共享客户端,不必另外安装桌面查看器。

  • 在 Finder 中选择“前往 → 连接服务器”,输入 VNC 地址。
  • 使用节点交付的用户资料,不是本地 Mac 的登录密码。
  • 通过隧道时改连本机转发地址,远程主机地址仍留在 SSH 命令中。

选择依据:本地也是 Mac,希望减少客户端配置步骤。

命令行 / 自动化

SSH

适合执行 xcodebuild、查看日志、同步工程与管理 runner。不持续传输桌面画面,更适合长时间构建。

  • 先核对主机指纹,再使用密码或密钥认证。
  • 交互式 SSH 会话断开,不应被当成可靠的后台任务管理方式。
  • 常驻任务使用 runner 服务或受管理的后台进程,并保存构建日志。

选择依据:任务可以写成命令,或需要接入 CI 流水线。

照表填写连接项

四种本地系统,使用同一份节点资料

下表以 SSH 端口 22、VNC 服务端口 5900 为例。实际端口不同,就替换对应数字。图形服务密码与 SSH 用户密码是否相同,以交付说明和节点当前设置为准,不要反复混用。

客户端选择与连接字段对照
本地系统 图形客户端建议 图形地址与端口填写 SSH 接入
Windows TigerVNC Viewer,先确认支持节点当前的 VNC 认证方式。 直连时使用客户端的 Host / Port 字段。按下文建立隧道后,Host 填 127.0.0.1,Port 填 15900。 Windows Terminal 配合 OpenSSH 客户端,执行 ssh -p 22 build@HOST_IP。
Linux Remmina 的 VNC 模式,或兼容认证方式的 TigerVNC Viewer。 通过隧道连接 127.0.0.1:15900;若客户端使用独立端口字段,分别填写,不填写显示编号。 终端中的 OpenSSH。先完成普通 SSH 登录,再建立本地端口转发。
macOS 系统自带“屏幕共享”。 直连地址为 vnc://HOST_IP:5900;通过隧道时为 vnc://127.0.0.1:15900。 终端中的 ssh。也可用 open 命令启动屏幕共享地址。
iPad 支持 macOS 认证及 SSH 隧道的 VNC 客户端。 在客户端内配置 SSH 主机与认证,再将图形目标设为节点侧 127.0.0.1:5900;具体字段名以客户端为准。 使用支持密钥导入的 SSH 客户端。先验证密钥登录,再启用客户端内置转发。
首次登录就做

先建立可信连接,再把任务搬上去

  1. 01

    核对地址与指纹

    从控制台读取节点 IP、SSH 端口和用户名。首次连接时核对主机指纹;如控制台未显示指纹,通过工单确认。重装后可能发生指纹变化,应先核实再更新本地记录,不要用关闭主机校验的参数绕过提示。

  2. 02

    修改初始密码

    首次进入后执行 passwd 修改当前用户密码,并确认图形服务使用哪种认证。若使用独立 VNC 密码,也要单独更新。密码不要写入仓库、构建日志或共享脚本。

  3. 03

    验证密钥登录

    把本地生成的公钥加入节点的 ~/.ssh/authorized_keys,私钥只留在可信客户端。新开一个终端验证成功后,再考虑收紧密码认证;原连接先保留,避免一次改动把自己锁在节点外。

  4. 04

    限制图形服务暴露

    仅在需要桌面操作时开启图形服务。macOS 中检查“系统设置 → 通用 → 共享 → 屏幕共享”,限制可访问用户。需要关闭或调整服务时,先确认 SSH 可用;隧道加密不等于远端端口已自动停止对公网监听。

本地生成密钥,节点只保存公钥

以下命令在本地执行。build 与 HOST_IP 都要替换为交付值;生成密钥时为私钥设置口令。

ssh-keygen -t ed25519 -f ~/.ssh/armvnc_build
cat ~/.ssh/armvnc_build.pub
ssh -p 22 build@HOST_IP

登录节点后创建目录、编辑公钥文件,并设置权限。把上一条输出的完整公钥单独放在一行,不要粘贴私钥。

mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

回到本地,验证:ssh -i ~/.ssh/armvnc_build -p 22 build@HOST_IP

通过 SSH 隧道打开图形桌面

本地端口使用 15900,远端目标使用 5900。转发只绑定本机回环地址,不向同一网络中的其他设备开放。

ssh -i ~/.ssh/armvnc_build -p 22 \
  -N -T \
  -o ExitOnForwardFailure=yes \
  -o ServerAliveInterval=30 \
  -o ServerAliveCountMax=3 \
  -L 127.0.0.1:15900:127.0.0.1:5900 \
  build@HOST_IP

命令保持运行且没有报错时,在图形客户端连接本机 15900 端口。macOS 可另开终端执行:

open 'vnc://127.0.0.1:15900'

隧道不会跳过 VNC 认证。用完退出图形客户端,再在隧道终端按 Ctrl + C 关闭转发。

先缩画面,再看网络

画质按任务调,不必一直传满屏像素

以下是排查用的起始设置,不是带宽或延迟保证。客户端能否调整色深与压缩取决于协议实现。每次只改一项,用同一个操作比较,例如拖动 Xcode 窗口、滚动日志或输入一段文字。

日常改代码与检查构建

分辨率起点
1440 × 900
色深起点
24 位
压缩起点
自动或中档

优先让文字清晰。客户端窗口太小时,先启用等比缩放;不要同时提高远端分辨率和本地缩放倍数。

适合:Xcode 设置、日志检查、偶尔操作图形界面。

跨地域或受限网络

分辨率起点
1280 × 800
色深起点
16 位(如支持)
压缩起点
高压缩

先关闭桌面动画与不必要的预览。高压缩可能降低画面细节;它能减少传输量,但不能消除网络往返时间。

适合:较远节点、移动网络、偶发丢包时的临时操作。

长时间 archive 与自动化

主要连接
SSH
桌面会话
按需开启
任务管理
runner 服务

不需要看画面时,直接保存构建日志与产物。图形客户端断开不等于 macOS 退出登录,也不应作为停止任务的方法。

适合:常驻 CI、无人值守脚本、重复执行的构建任务。

节点选择也要区分用途:交互桌面更受你到节点的网络路径影响;纯构建则还要考虑仓库拉取、依赖下载与产物上传路径。不要用一次鼠标操作的流畅度推断编译性能。

按现象缩小范围

先分清网络、认证与桌面会话

先测试 SSH,再测试图形连接。SSH 正常而 VNC 失败时,重点检查图形服务和隧道目标;两者都失败时,先核对实例状态、地址、本地网络与端口。不要一开始就重装系统。

连接反复中断,重连后还要重新开任务吗?

先区分连接断开和任务结束。重新建立 SSH 或图形连接后,检查原进程及日志;不要立刻再提交一次 archive,避免并发任务争抢资源或重复发布产物。

使用上文的 SSH 保活参数可帮助识别失效链路,但不能修复持续丢包。测试本地有线网络或另一条可信网络,再比较同一节点。长任务应交给 runner 服务或受管理的后台进程,而不是依赖一个始终打开的终端。

pgrep -fl xcodebuild
tail -n 80 ~/build.log

第二条命令仅适用于你已把日志保存到该路径的情况。若没有这个文件,查看你在构建脚本中设置的日志位置。

锁屏后出现黑屏,应该重启节点吗?

先关闭图形客户端的连接,再重新连接并确认没有开启“仅查看”模式。检查客户端是否仍能显示认证界面;认证完成后黑屏,和完全无法连接,是两类问题。

如果 SSH 可用,保留连接并核对屏幕共享设置、访问用户与当前会话。不要反复强制结束系统图形进程,也不要在仍有构建运行时直接重启。若仍无法恢复,在控制台提交工单,说明黑屏发生于锁屏前还是锁屏后,并附客户端名称与版本。

能看到桌面,但剪贴板内容没有同步

确认客户端允许剪贴板共享,并关闭“仅查看”限制。先用一小段纯文本测试双向复制;图片、文件与富文本不一定能通过同一剪贴板通道传输。

检查客户端是否要求单独发送剪贴板,必要时断开后重新建立会话。传工程文件改用 SCP 或 SFTP;不要把密码、私钥或完整签名资料放进共享剪贴板来测试功能。

SSH 超时,或提示认证失败

超时通常发生在认证之前。核对 IP 与端口,检查本地网络是否限制该端口,再用详细日志观察连接停在哪一步。提示 Permission denied 时,重点检查用户名、公钥内容、文件权限与客户端选用的私钥。

ssh -v -i ~/.ssh/armvnc_build -p 22 build@HOST_IP

提交日志前删去用户名、IP 和本地敏感路径等非必要信息,绝不发送私钥或密码。主机指纹变化时,先确认是否发生过重装或实例变更,不要直接删除校验记录。

画面尺寸不对,或键盘符号与本地不一致

画面被裁切时,先看客户端的适应窗口或缩放设置,再检查节点“系统设置 → 显示器”。只调整客户端窗口大小,不一定会改变远端桌面的分辨率。

键盘错位时核对本地布局、客户端按键映射和远端输入法。先在普通文本编辑器中测试字母、数字与符号,再输入密码或命令;Windows 的 Ctrl / Alt 与 macOS 的 Command / Option 可能需要单独映射。

连通之后,开始第一次构建

按使用指南准备环境;遇到开通、连接或计费问题,查帮助中心。尚未租用时,可先在下单页选择机型与节点。

仅支持 USDT-TRC20 与 Visa / Mastercard / Amex(经 Stripe),以 USD 结算。实际可用网关以结账时返回为准。