远程 Mac 连接指南

从拿到访问资料,到稳定运行第一条构建任务

本页按实际接入顺序说明远程桌面、SSH、代码仓库、自托管 Runner 与文件传输。先核对节点和凭据,再处理客户端参数;遇到问题时按现象逐层排查,避免把强制断电当成常规修复手段。

标准准备时间
约 4 分钟
可用通道
远程桌面与 SSH
节点性质
独享物理机,非虚拟机
SESSION HANDOFF 远程会话接入单
可核对
订单与节点 先与控制台记录逐字核对
  1. 01
    读取访问资料

    确认访问地址、账户名、临时凭据和节点代码属于同一订单。

    核对
  2. 02
    建立首个会话

    先使用单一客户端连接,排除多端并发和旧缓存干扰。

    连接
  3. 03
    更新临时凭据

    首次进入后立即更新,并将新凭据放入团队认可的安全保管工具。

    更新
  4. 04
    启用开发通道

    录入 SSH 公钥,检查 Xcode 命令行工具,再注册自动化 Runner。

    就绪
开始连接

先确认四项资料,再打开客户端

订单通知邮件与控制台会提供同一组交付信息。连接前应核对订单号、节点代码、访问地址和账户名;如果两处内容不一致,不要反复尝试旧地址,直接在控制台提交工单。

首次连接清单

访问资料应当能对应到同一台物理节点

访问地址
使用订单资料中的完整主机地址,不要从聊天记录或旧项目文档复制历史地址。
账户名
账户名区分字符和符号。粘贴后检查前后是否带有空格,避免客户端把空格计入字段。
临时凭据
仅用于首次进入。完成连接后立即更新,不要把临时值写入仓库、构建日志或团队共享文档。
节点代码
节点代码用于定位连接路径和提交支持请求,不等同于账户名,也不要填进密码字段。
远程桌面

VNC 与系统级远程访问,先按任务选择

需要完整图形界面、Xcode 工程操作或创作软件时使用远程桌面;只执行脚本、检查构建状态或传输小批文件时优先使用 SSH。减少不必要的图形会话,可以降低弱网络下的交互压力。

远程 Mac 连接方式与参数对照
连接方式 适合任务 连接前准备 客户端参数 结束会话
VNC 远程桌面 Xcode 图形界面、模拟器观察、Logic Pro、Final Cut Pro 与日常桌面操作 确认访问地址、端口、账户名和当前凭据;关闭同一账户的重复会话 先使用自适应画质与系统分辨率;弱网络下逐步降低色彩质量和帧率 保存工程并退出应用,再从系统会话中正常注销;不要直接关闭正在写入文件的任务
macOS 系统级远程访问 团队内部统一客户端、固定分辨率工作台与长期桌面任务 确认客户端支持目标协议,并允许所需网络端口通过本地防火墙 主机名填写交付地址,账户名保持原样;首次连接时核对主机提示信息 先停止导出、压缩或同步任务,再执行注销;仅关闭客户端窗口不等于结束后台进程
SSH 命令行 仓库操作、构建脚本、Runner 管理、日志查看和自动化任务 录入公钥,确认私钥只保存在受控终端,并记录节点主机指纹 明确用户名、主机地址和端口;自动化脚本应设置合理超时和退出码检查 退出交互会话前确认前台任务结束;长期任务交给受管理的进程或 Runner 执行

会话结束顺序:保存文件、停止写入任务、退出应用、注销桌面会话。后台构建若需继续运行,应由 Runner 或受管理进程接管,而不是依赖一个保持打开的桌面窗口。

开发通道

把交互登录与自动化权限拆开

个人远程桌面账户、SSH 密钥和 CI/CD Runner 不应共用一组长期凭据。分别配置权限后,构建失败更容易定位,成员变更时也能单独撤销对应访问。

  1. 01

    录入 SSH 公钥

    从受控工作设备生成或选择现有密钥,将公钥写入目标账户的授权列表。私钥不上传到节点,不通过邮件发送,也不粘贴进工单。

    ssh -i ~/.ssh/team_build user@assigned-host
  2. 02

    拉取仓库并确认权限范围

    优先使用只覆盖当前仓库的访问令牌或部署密钥。首次拉取后检查远端地址,避免把含敏感参数的 URL 留在 shell 历史或构建输出中。

    git clone <repository-url>
    git remote -v
  3. 03

    检查 Xcode 命令行工具

    确认当前工具链路径和版本符合项目要求。版本切换后重新执行检查,并让构建脚本输出实际使用的工具链,而不是只依赖团队文档中的预期值。

    xcode-select -p
    xcodebuild -version
    swift --version
  4. 04

    注册自托管 Runner

    为 Runner 使用清晰标签,例如芯片、节点和任务类型。限制单机并发,给工作目录设置清理策略,并在成员离开或项目结束后撤销注册令牌。

    ./config.sh --labels apple-silicon,macos,build
    ./run.sh
文件与产物

桌面操作看得见,自动化任务要可回收

工程文件、缓存和构建产物应按用途放入不同目录。把工作区与临时缓存混在一起,会让磁盘空间问题难以判断,也会增加清理时误删项目文件的风险。

桌面任务

适合人工检查和小批量传输

  • 上传前压缩包含大量小文件的工程目录,减少远程文件管理器逐项处理的等待。
  • 解压后检查目录权限,确认当前账户对工作目录具有读取与写入权限。
  • 视频、音频和大体积素材优先生成代理文件,桌面会话只承担需要人工判断的环节。
  • 导出完成后先核对文件大小与校验值,再从节点删除临时副本。
自动化任务

适合重复构建和大型产物回传

  • 为每次任务创建独立工作目录,任务结束后按退出状态决定保留日志还是清理全部临时文件。
  • 缓存目录设置容量边界和清理周期,不把缓存命中率建立在无限增长的磁盘占用上。
  • 大型产物采用可重试传输,并在回传后验证校验值;网络中断时不要从头重复完整构建。
  • 日志只保留定位问题所需的信息,避免输出令牌、密码、完整环境变量和未脱敏业务数据。
清理前 确认工作目录、缓存目录与产物目录边界
传输中 保留退出码、重试次数与校验值
传输后 先验证远端副本,再删除节点临时文件
会话问题排查

先记录现象,再改变一个变量

不要同时更换网络、客户端、凭据和节点参数。每轮只改变一项,并记录时间、错误文本和结果;这样提交工单时,支持人员可以直接从已验证的步骤继续。

CONNECTION

无法连接

先确认本地网络可以访问其他 HTTPS 服务,再核对主机地址和端口。关闭代理或企业网络策略进行一次对照测试,并确认客户端没有继续使用旧会话缓存。

记录超时或拒绝连接
DISPLAY

画面延迟或输入滞后

降低分辨率、色彩质量和帧率,暂停大型上传,再比较有线网络与无线网络结果。若 SSH 响应正常而桌面延迟明显,优先检查图形编码与客户端设置。

记录网络与画质参数
CREDENTIAL

凭据失效

确认账户名大小写和粘贴空格,检查是否仍使用首次交付的临时值。不要连续高频尝试;在控制台核对订单状态后提交工单,由支持人员确认账户状态。

不要提交完整凭据
STORAGE

磁盘空间不足

分别检查工作区、构建缓存、模拟器数据、归档文件和下载目录。先移动需要保留的产物,再清理可重建缓存;不要直接删除来源不明的系统目录。

记录清理前后容量
BUILD

构建进程中断

保留退出码和失败步骤,确认 Runner 服务、工具链路径、剩余磁盘与仓库权限。先用相同提交重跑一次最小任务,再判断是环境问题还是项目脚本问题。

附最后一段脱敏日志
重启与运行边界

正常重启优先,强制断电只留给失去响应的节点

所有节点全年 365 天正常运行,不设置计划停机时段。系统更新、项目依赖变更和用户发起的重启,应由团队根据任务状态安排;如果节点完全失去响应,再由支持人员完成节点检查。

可自行处理

远程正常重启

停止 Runner 接收新任务,等待写入完成,保存桌面工程,然后从 macOS 执行正常重启。重连后检查时间、网络、磁盘和构建服务。

先做节点检查

会话断开但主机可达

若 SSH 仍可连接,不要直接断电。先检查远程桌面进程、磁盘空间和系统负载,并记录最近一次正常会话结束时间。

需要人工协助

桌面与 SSH 均不可达

提交订单号、节点代码、发生时间和网络对照结果。支持人员会先检查节点电源、网络与系统状态,再决定是否需要恢复操作。

不要连续触发重启或强制断电。

文件系统正在写入、构建产物正在归档或缓存数据库正在更新时,重复断电可能扩大问题。每次操作后应等待状态返回,并记录操作时间。

提交支持请求

让工单从可复现信息开始

控制台工单适合订单内的连接、节点和账单问题;邮件适合尚未下单的配置咨询。两种渠道都不要提交私钥、完整访问凭据或未脱敏业务数据。

最小信息集

  • 订单号:用于定位对应的独享物理节点。
  • 节点代码:按控制台显示原样填写。
  • 发生时间:写明时区和最近一次正常时间。
  • 客户端环境:操作系统、客户端名称、版本和网络类型。
  • 复现步骤:从打开客户端到看到错误的最短步骤。
  • 脱敏日志:保留错误码与上下文,移除密码、令牌、私钥和业务内容。
支持邮箱 support@vmoak.com
独享 Apple Silicon 物理节点

选一台适合构建、自动化或远程创作的云端 Mac

两档配置、六个节点与全部周期价格公开列明。提交订单前可先按任务内存、存储增量和连接地区完成选择。