连接运行单

按任务选择 SSH 或浏览器图形界面

命令行构建、自动化脚本与长时间任务优先使用 SSH。需要操作 Xcode、检查图形输出或处理桌面应用时,再从控制台设备详情进入浏览器远程会话。

DplyMini 提供的是云端 Mac 独享物理机。每个订单对应物理节点,设备为非虚拟机。连接前先核对主机地址、用户名和主机指纹,再开始传输项目或执行构建。

SSH 脚本、构建与后台任务
浏览器界面 Xcode 与图形桌面操作
5 个节点 连接信息按订单交付
DEVICE CONNECTION SHEET RUN-SSH-GUI
连接资料已交付 1 订单 = 1 独享物理节点
命令行通道
SSH 公钥认证
图形通道
控制台设备详情进入
首次核验
主机地址、用户名、指纹
建议任务
xcodebuild、fastlane、CI Runner
核对 认证 连接 执行 退出
连接方式概览

先判断任务是否真的需要图形界面

连接方式不会改变设备配置,但会影响操作效率、链路敏感度与会话恢复方式。把持续任务留在后台,把图形会话留给必须看见桌面的步骤。

默认方式

SSH:适合可重复、可记录的任务

依赖安装、代码拉取、编译、测试、日志检查和文件校验都适合走 SSH。网络短暂波动时,可通过 tmux、screen 或 CI Runner 保持任务在设备端继续执行。

  • 适合 xcodebuild、fastlane 与脚本化流水线
  • 命令、输出和错误码容易保留到日志
  • 大多数操作不依赖持续传输桌面画面
按需使用

浏览器图形界面:适合必须看见桌面的步骤

需要打开 Xcode、检查模拟器画面、调整图形工具或确认桌面应用状态时,从控制台的设备详情发起远程会话。持续构建不应依赖浏览器标签页一直开启。

  • 适合短时交互、配置检查与图形应用操作
  • 体验更依赖本地网络稳定性与往返延迟
  • 结束操作后应锁定桌面并主动退出会话

简单判断:可以用命令表达并需要重复执行的步骤,优先 SSH;只有必须观察或操作 macOS 图形界面的步骤,才使用浏览器远程访问。

SSH 准备

第一次连接前,先把四项身份信息核对完整

不要拿到地址后立即尝试多个用户名或反复接受未知指纹。先在控制台设备详情确认交付信息,再由本地终端建立连接。

  1. 01

    创建个人 SSH 密钥

    每位操作者使用自己的密钥,不在团队成员之间复制私钥。推荐使用现代密钥类型,并为私钥设置本地保护口令。

    ssh-keygen -t ed25519 -C "deploymini-access"
  2. 02

    只提交公钥内容

    公钥通常来自 ~/.ssh/id_ed25519.pub。私钥文件不上传、不粘贴到聊天记录,也不放进代码仓库或工单附件。

    cat ~/.ssh/id_ed25519.pub
  3. 03

    核对主机地址与用户名

    地址、端口和用户名以当前订单的设备详情为准。不要沿用其他订单的连接命令,也不要根据节点名称自行猜测地址。

    ssh -p <port> <user>@<host>
  4. 04

    验证首次连接的主机指纹

    终端第一次询问是否信任主机时,先把显示的指纹与设备详情提供的信息逐段比对。信息不一致时停止连接并提交工单,不要直接输入 yes。

    SHA256:<fingerprint-from-device-details>

密钥轮换原则

成员离开项目、设备交接或临时协作结束后,应立即删除对应公钥。不要让一个长期共享密钥覆盖整个团队。

本地配置原则

可在本地 SSH config 中为设备设置别名,但主机、端口和用户名仍应以控制台当前交付信息为准。

异常处理原则

若已知主机条目突然变化,先确认订单或地址是否变更。未确认前不要直接删除旧记录并接受新指纹。

浏览器远程访问

从设备详情进入,不保存会话链接

  1. 登录控制台 进入当前订单对应的设备详情,确认节点、机型和连接状态。
  2. 发起浏览器会话 使用设备详情中的远程访问操作。不要把临时会话地址作为书签或转发给其他人。
  3. 调整显示参数 工具栏可处理分辨率缩放、全屏与剪贴板。高分辨率会增加画面传输量,链路不稳时先降低显示尺寸。
  4. 结束并锁定设备 完成操作后先保存工作,再退出应用、锁定桌面并关闭浏览器会话。

剪贴板控制

剪贴板适合短文本和一次性命令,不适合传输私钥、完整支付凭据或大段敏感配置。复制完成后清理本地与远程剪贴板内容。

分辨率与全屏

先使用适合当前窗口的缩放比例。需要精细操作时再进入全屏;若输入延迟升高,退出全屏并降低分辨率后重新判断链路。

连接与构建演示

把登录、构建与交付拆成可核对的输出

下面演示一次典型 SSH 会话。实际地址、用户名、项目路径、Scheme 与导出配置由你的订单和项目决定,不要直接复制示例参数。

build-session — ssh
SESSION ACTIVE
$ ssh -p <port> <user>@<host>
The authenticity of host cannot be established.
ED25519 key fingerprint is SHA256:<fingerprint>
Are you sure you want to continue connecting? yes

Connected to dedicated physical Mac mini
$ sw_vers
ProductName:            macOS
ProductVersion:         <installed-version>

$ cd ~/work/ExampleApp
$ xcodebuild \
  -workspace ExampleApp.xcworkspace \
  -scheme ExampleApp \
  -configuration Release \
  build

** BUILD SUCCEEDED **

$ bundle exec fastlane ios build
[fastlane] Resolving project configuration
[fastlane] Running archive workflow
[fastlane] Build artifacts ready for verification

$ shasum -a 256 ./output/ExampleApp.ipa
<checksum>  ./output/ExampleApp.ipa
检查点 A

构建前记录环境

保留 macOS、Xcode、Ruby、依赖管理工具与项目提交版本。出现差异时,先比较环境记录,而不是立即重装全部依赖。

检查点 B

构建后校验制品

记录输出路径、文件大小、校验值与关键构建日志。下载完成后在接收端再次计算校验值,确认传输过程没有产生变化。

网络排查

按链路顺序检查,不要同时修改多个变量

一次只验证一层,并记录每一步结果。这样可以判断问题发生在本地解析、出口网络、访问规则、认证信息还是设备端服务。

  1. 01

    DNS 与地址

    确认连接命令使用的是设备详情当前提供的主机地址。若使用主机名,先检查是否能解析到预期地址,并排除本地 hosts 覆盖。

    nslookup <host>
  2. 02

    本地出口网络

    确认当前网络允许建立外部连接。企业网络、访客 Wi-Fi、代理或 VPN 可能改变出口路径,可切换到已知正常的网络进行对照。

    traceroute <host>
  3. 03

    防火墙与目标端口

    核对订单交付的端口,检查本地安全软件和组织网络策略是否拦截。不要假设所有设备都使用默认 SSH 端口。

    nc -vz <host> <port>
  4. 04

    用户名与凭据

    区分“无法到达端口”和“认证失败”。认证失败时检查用户名、公钥路径、密钥权限与 ssh-agent,不要通过连续尝试不同密码排查。

    ssh -vv -i ~/.ssh/id_ed25519 <user>@<host>
  5. 05

    远程服务状态

    端口可达但会话立即中断时,记录断开前的完整错误提示。若浏览器会话异常,同时确认 SSH 是否仍可连接,以区分图形通道与设备整体状态。

    Connection reset | timeout | permission denied
  6. 06

    节点与订单状态

    最后回到控制台核对订单、节点和设备信息。所有节点全年 365 天正常运行;具体连接可用状态以控制台实时返回为准。

    检查控制台状态

不要把 ping 作为唯一结论。部分网络会限制 ICMP,但 SSH 目标端口仍可正常建立连接。判断时应同时记录解析结果、目标端口测试和 SSH 详细输出。

会话安全

让每次访问都能追溯到具体操作者

独享物理机减少了资源争用,但不会替代团队内部的访问控制。密钥、临时凭据、项目数据和远程桌面仍需按最小权限管理。

访问控制基线

从个人密钥开始,以主动撤销结束。

  • 一人一把密钥:不要让多位成员长期共用同一私钥。
  • 离开即锁屏:浏览器会话不使用时锁定桌面,完成后主动退出。
  • 限制共享账户:只向当前任务需要的成员授予访问权限。
  • 撤销临时凭据:任务结束后删除临时公钥、令牌和环境变量。
  • 日志先脱敏:提交前移除密钥、令牌、个人信息和完整支付凭据。
禁止发送

私钥与有效访问令牌

支持人员排查连接问题不需要你的私钥。不要通过邮箱、聊天记录、代码仓库或工单附件发送任何私钥内容。

建议提供

错误原文与脱敏调试输出

保留错误类型、命令参数结构、发生时间和客户端版本,将主机地址、用户名、项目名及敏感值替换为明确的脱敏标记。

性能建议

交互看链路稳定性,持续任务看设备端执行

浏览器图形界面的流畅度主要受往返延迟、抖动和可用带宽影响。编译速度则更多取决于项目、缓存和设备配置,两者应分开判断。

桌面交互优先稳定链路

选择到团队、代码仓库和制品存储完整链路更合适的节点。短时最低延迟不等于整段会话稳定,抖动和丢包同样会影响输入体验。

大文件分批传输并校验

素材、模型和构建制品应分批传输。传输前后记录文件数量、总大小和校验值,失败时只重传有差异的部分。

持续构建交给后台任务

长时间编译、测试和编码任务应在设备端后台运行,并把日志写入文件。浏览器关闭或本地网络波动时,任务不应因此中断。

短时操作 浏览器图形界面
可重复操作 SSH 脚本
持续执行 后台任务或 CI Runner
大文件传输 分批处理并校验
SUPPORT HANDOFF SHEET 6 REQUIRED FIELDS
故障转接

提交能直接进入排查的信息

连接问题若无法按前述顺序定位,请在控制台为对应订单提交工单。信息越完整,支持队列越容易复现并判断问题所在层级。

订单号 用于定位设备与交付记录
节点 填写控制台显示的节点名称
发生时间 包含时区并说明是否持续发生
客户端 系统、终端或浏览器及版本
复现步骤 从正常状态到错误的操作顺序
脱敏日志 保留错误原文,移除敏感内容

运行问题走订单工单

设备无法连接、会话反复中断或交付信息异常时,从控制台对应订单提交工单,避免把订单资料分散到多个邮件线程。

一般咨询可发送邮件

尚未下单或需要确认连接方式时,可写明预期任务、目标节点、客户端环境与计划租期,发送至 support@deploymini.com。

准备好连接第一台独享物理 Mac mini

先选择配置与五个节点之一,完成订单后在控制台核对连接资料。首次登录按本页顺序验证主机地址、用户名和指纹。