SSH 命令行
用于 Git 操作、依赖安装、脚本执行、日志查看、测试构建与 CI 任务。先通过 SSH 确认节点地址、凭据和主机状态,再处理其他接入方式。
- 适合长时间构建和自动化脚本
- 断开图形界面不会改变后台任务设计
- 便于复制命令、保存日志和复现错误
这份指南把节点地址核对、主机指纹验证、Xcode 图形操作、代码传输、网络调优与安全退出整理成一条顺序明确的路径。命令行任务优先走 SSH,需要完整 macOS 图形界面时再建立远程会话。
SSH 的数据量更小,适合构建、日志、依赖与自动化任务。图形远程访问用于 Xcode 界面、模拟器观察和必须通过桌面完成的设置。
用于 Git 操作、依赖安装、脚本执行、日志查看、测试构建与 CI 任务。先通过 SSH 确认节点地址、凭据和主机状态,再处理其他接入方式。
用于操作 Xcode 图形界面、检查工程设置、观察模拟器与处理桌面应用。网络波动时先降低分辨率、帧率与色彩质量,不要反复创建新会话。
连接信息应从订单对应的控制台实例详情中读取。不要依据聊天记录、旧截图或他人转发的文本输入节点地址与凭据。首次连接出现主机指纹提示时,先与实例详情中的指纹比对,完全一致后再接受。
核对节点区域、地址、SSH 端口、用户名与密钥类型,确认这些字段属于同一订单和同一台物理节点。
私钥只应由当前本地用户读取。若客户端提示权限过宽,先调整文件权限,再重新发起连接。
逐字符比较算法类型和指纹值。若不一致,停止连接,不要通过删除旧记录来绕过警告。
登录后确认主机名、当前用户、系统版本、磁盘可用空间与 Xcode 路径,再开始安装依赖。
下面的地址、用户名、路径和工程名均为不可执行占位值。使用时必须替换为控制台实例详情与实际项目中的字段。
$ ssh -i /path/to/private_key -p <端口> <用户名>@<节点地址>
The authenticity of host cannot be established.
ED25519 key fingerprint is <待与控制台核对的指纹>.
Continue connecting only after verification: yes
<用户名>@<主机名> % hostname
<实例详情中的主机名>
<用户名>@<主机名> % xcodebuild test \
-workspace <项目工作区> \
-scheme <测试方案> \
-destination 'platform=macOS'
Test Suite '<测试套件>' passed
Executed <测试数量> tests, with 0 failures
<用户名>@<主机名> % bundle exec fastlane <流程名称>
[fastlane] Checking project configuration
[fastlane] Running tests
[fastlane] Exporting artifact
[fastlane] Finished without reported errors
图形客户端的字段名称可能不同,但连接逻辑一致:地址和端口来自实例详情,分辨率与画质由本地网络决定,剪贴板和文件共享按任务最小化开启。
在控制台查看目标实例是否正常运行,并确认没有遗留的图形会话占用。若团队多人使用同一工作流,应先约定会话交接方式,避免互相踢出。
逐项复制实例详情中的连接参数。不要把密钥、密码或恢复信息保存在公共笔记、公开代码仓库、工单截图或未加密的同步目录。
首次可使用单显示器、1920×1080 或更低分辨率、中等色彩质量。确认输入和画面稳定后再逐档提升,不要一开始同时开启高分辨率、高帧率和高色深。
只在确有需要时开启文本剪贴板。目录映射应限定到专用交换目录,不要直接共享本地用户目录、密钥目录或包含签名材料的路径。
确认客户端断开时是保留任务、锁定桌面还是退出会话。完成操作后使用明确的退出流程,不要只关闭客户端窗口后假设会话已经结束。
选择传输方式时同时考虑可追踪性、增量更新、文件权限和敏感信息暴露范围。不要用公共下载链接临时搬运私有代码或构建材料。
适合仓库代码、依赖锁定文件和可审查配置。先确认远端地址与分支,再执行拉取;私有凭据通过受控方式配置,不写入仓库。
适合增量上传资源文件、下载脱敏日志和回传构建制品。限制远端目标目录,传输后检查所有者、权限、大小与修改时间。
适合一次性交付的素材、缓存或归档。发送端生成摘要,节点端重新计算并逐字符比对;只有结果一致时才解压和进入后续处理。
高分辨率、高帧率和高色彩质量会同时增加传输压力。调整时一次只改变一个参数,保留前后对比,避免多项变化掩盖真正原因。
| 现象 | 第一步 | 第二步 | 验证方式 |
|---|---|---|---|
| 鼠标响应延迟 | 降低分辨率 | 降低帧率 | 移动窗口并观察输入是否同步 |
| 画面频繁重绘 | 降低色彩质量 | 关闭动态桌面效果 | 滚动代码文件并观察重绘范围 |
| 会话间歇断开 | 改用有线或稳定 Wi-Fi | 暂停其他大流量任务 | 同时保持 SSH 会话观察连接连续性 |
| 输入正常但画面卡住 | 等待当前绘制完成 | 重新建立原会话 | 避免创建多个并行图形会话 |
优先使用有线网络;使用 Wi-Fi 时保持信号稳定并避开持续大流量传输。
依次调整分辨率、帧率和色彩质量,每次只改一项并记录结果。
构建、日志和文件处理留在 SSH,会话中只保留必须使用图形界面的操作。
每完成一步都重新测试一次,并保存完整错误文本、发生时间、节点区域和客户端版本。不要只提交“连不上”或单张裁切截图。
先确认本地网络可用,再核对节点地址与端口是否来自当前实例详情。随后检查本地防火墙、公司网络策略和 VPN 是否拦截连接。若 SSH 与图形会话同时超时,优先排查网络路径和节点状态,不要反复重装图形客户端。
指纹变化可能来自地址输入错误、连接到不同节点或实例信息发生变化。停止连接,在控制台重新核对当前地址与指纹,并确认订单标识和节点区域。只有新指纹来源得到确认后,才能更新本地记录。
先确认用户名大小写与实例详情一致,再确认客户端实际加载的是目标密钥而非同名旧文件。检查密钥文件权限、格式和路径;若启用了代理或密钥管理工具,还要核对它是否替换了预期认证材料。不要连续尝试多个来源不明的凭据。
先保持 SSH 连接,确认系统仍可响应;然后检查是否已有图形会话、显示参数是否过高、客户端是否支持当前连接模式。降低到单显示器和较低分辨率后重新连接原会话。若 SSH 正常而画面仍不可用,记录客户端版本与会话时间再提交工单。
团队应明确当前会话负责人和交接时间。连接前检查已有会话,退出时使用客户端的断开或注销动作,不要通过强制新建会话解决占用。若需要保留后台构建,将任务放入可持续运行的命令行流程,而不是依赖图形窗口保持打开。
订单标识、节点区域、问题发生时间、完整复现步骤和脱敏日志。涉及图形会话时,再补充客户端名称、版本、分辨率和网络类型。
完成任务后按顺序退出图形会话、停止不再需要的监听、检查凭据暴露情况,并删除本地与节点上的临时交换文件。
若凭据曾进入公开仓库、共享截图、公共下载目录或未受控日志,应立即停止继续使用并完成轮换。删除公开副本不能替代轮换,因为内容可能已经被缓存或复制。
检查 SSH 隧道、端口转发、客户端后台进程和本地代理。只有仍有明确用途的入口才保留,并记录负责人、用途和关闭条件。
保留系统版本、Xcode 路径、依赖锁文件、构建命令和错误摘要;移除私钥、账户密码、恢复代码、临时交换包与未脱敏日志。
先选择配置与节点完成部署;如果仍在整理工具链,可继续阅读首次部署流程或进入帮助中心排查具体问题。