從命令列驗證開始

先建立可信任的 SSH 連線,再視需要開啟圖形遠端工作階段

本指南將節點位址核對、主機指紋驗證、Xcode 圖形操作、程式碼傳輸、網路調校與安全登出整理成清楚有序的流程。命令列工作優先使用 SSH,需要完整 macOS 圖形介面時再建立遠端工作階段。

2 種主要連線方式
6 項首次連線核對事項
1 條有序的排查路徑
連線調度標示 工作階段路徑
本機裝置 SSH 驗證 實體節點
命令列工作SSH
Xcode 圖形操作遠端工作階段
程式碼與建置產物Git / SFTP
選擇連線方式

依工作選擇通道,不要預設將所有工作放在圖形工作階段中

SSH 傳輸量較小,適合建置、日誌、相依套件與自動化工作。圖形遠端存取則用於 Xcode 介面、模擬器觀察及必須透過桌面完成的設定。

優先通道

SSH 命令列

用於 Git 操作、安裝相依套件、執行腳本、檢視日誌、測試建置與 CI 工作。先透過 SSH 確認節點位址、認證資料與主機狀態,再處理其他連線方式。

  • 適合長時間建置與自動化腳本
  • 中斷圖形介面不會影響背景工作
  • 方便複製命令、儲存日誌及重現錯誤
視需要建立

圖形遠端工作階段

用於操作 Xcode 圖形介面、檢查專案設定、觀察模擬器及處理桌面應用程式。網路不穩時,先降低解析度、影格率與色彩品質,不要反覆建立新工作階段。

  • 適合需要滑鼠與完整桌面的操作
  • 連線前先確認是否已有工作階段仍在使用中
  • 結束後明確登出並清理本機暫存設定
首次 SSH 連線

逐項核對位址、使用者名稱、金鑰權限與主機指紋

連線資訊應從訂單對應的控制台執行個體詳細資料中讀取。不要根據聊天記錄、舊螢幕擷取畫面或他人轉寄的文字輸入節點位址與認證資料。首次連線出現主機指紋提示時,先與執行個體詳細資料中的指紋比對,完全一致後再接受。

01

讀取連線資訊

核對節點區域、位址、SSH 連接埠、使用者名稱與金鑰類型,確認這些欄位屬於同一筆訂單及同一台實體節點。

02

限制金鑰權限

私密金鑰只能由目前的本機使用者讀取。若用戶端提示權限過寬,請先調整檔案權限,再重新發起連線。

03

核對主機指紋

逐字元比較演算法類型與指紋值。若不一致,請停止連線,不要刪除舊記錄來繞過警告。

04

完成首次檢查

登入後確認主機名稱、目前使用者、系統版本、磁碟可用空間與 Xcode 路徑,再開始安裝相依套件。

命令執行範例

先驗證登入,再執行測試建置與發行流程檢查

以下位址、使用者名稱、路徑與專案名稱皆為不可執行的佔位值。使用時必須替換為控制台執行個體詳細資料及實際專案中的欄位。

OpsVM 連線驗證記錄・範例
SSH → BUILD → RELEASE
$ 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
SSH 只有在指紋與執行個體詳細資料一致時才繼續。
xcodebuild 先執行範圍可控的測試方案,再逐步擴大工作。
Fastlane 輸出應保留去識別化日誌,方便重現失敗階段。
圖形遠端存取

使用明確參數建立單一工作階段,並為目前網路保留餘裕

圖形用戶端的欄位名稱可能不同,但連線邏輯一致:位址與連接埠來自執行個體詳細資料,解析度與畫質取決於本機網路,剪貼簿與檔案共享應依工作需求以最小權限開啟。

  1. 01

    先確認節點與工作階段狀態

    在控制台查看目標執行個體是否正常運作,並確認沒有遺留的圖形工作階段佔用。若團隊多人使用同一工作流程,應先約定工作階段交接方式,避免互相踢出。

  2. 02

    輸入位址、連接埠與驗證欄位

    逐項複製執行個體詳細資料中的連線參數。不要將金鑰、密碼或復原資訊儲存在公共筆記、公開程式碼儲存庫、工單螢幕擷取畫面或未加密的同步目錄中。

  3. 03

    從中等解析度與畫質開始

    首次可使用單一顯示器、1920×1080 或更低解析度及中等色彩品質。確認輸入與畫面穩定後再逐級提升,不要一開始同時啟用高解析度、高影格率與高色彩深度。

  4. 04

    限制剪貼簿與目錄共享

    只有確有需要時才啟用文字剪貼簿。目錄對應應限定於專用交換目錄,不要直接共享本機使用者目錄、金鑰目錄或包含簽署材料的路徑。

  5. 05

    設定鎖定與退出動作

    確認用戶端中斷連線時,是保留工作、鎖定桌面還是結束工作階段。完成操作後使用明確的退出流程,不要只關閉用戶端視窗就假設工作階段已結束。

檔案與程式碼傳輸

程式碼使用版本控制,變更檔案使用增量同步,壓縮檔先驗證再解壓縮

選擇傳輸方式時,同時考慮可追蹤性、增量更新、檔案權限與敏感資訊暴露範圍。不要使用公共下載連結暫時搬運私有程式碼或建置材料。

Git

擷取可追蹤的程式碼與設定

適合儲存庫程式碼、相依套件鎖定檔與可審查設定。先確認遠端位址與分支,再執行擷取;私有認證資料應透過受控方式設定,不要寫入儲存庫。

  • 先檢查遠端與目前分支
  • 鎖定相依套件版本並保留鎖定檔
  • 不要將建置產物反向提交至原始碼儲存庫
SFTP

同步資料、日誌與建置產物

適合增量上傳資源檔案、下載去識別化日誌及回傳建置產物。限制遠端目標目錄,傳輸後檢查擁有者、權限、大小與修改時間。

  • 使用專用交換目錄
  • 傳輸大型檔案後核對完整性
  • 工作結束後刪除不再需要的副本
壓縮檔驗證

比對固定資料包的摘要值

適合一次性交付的素材、快取或封存檔。傳送端產生摘要,節點端重新計算並逐字元比對;只有結果一致時才解壓縮並進行後續處理。

  • 傳送前記錄檔案大小與摘要
  • 先將檔案解壓縮至隔離目錄並檢查內容
  • 拒絕來源不明的腳本與二進位檔
穩定性最佳化

先降低畫面負載,再判斷是否屬於網路或用戶端問題

高解析度、高影格率與高色彩品質會同時增加傳輸壓力。調整時一次只變更一個參數,保留前後對比,避免多項變更掩蓋真正原因。

依網路表現調整圖形遠端工作階段參數
現象 第一步 第二步 驗證方式
滑鼠回應延遲 降低解析度 降低影格率 移動視窗並觀察輸入是否同步
畫面頻繁重繪 降低色彩品質 關閉動態桌面效果 捲動程式碼檔案並觀察重繪範圍
工作階段間歇性中斷 改用有線網路或穩定的 Wi-Fi 暫停其他高流量工作 同時保持 SSH 工作階段,觀察連線持續性
輸入正常但畫面卡住 等待目前繪製完成 重新建立原有工作階段 避免建立多個平行圖形工作階段
優先級 A 連線媒介

優先使用有線網路;使用 Wi-Fi 時保持訊號穩定,並避開持續的大流量傳輸。

優先級 B 畫面參數

依序調整解析度、影格率與色彩品質,每次只修改一項並記錄結果。

優先級 C 工作分流

建置、日誌與檔案處理留在 SSH,工作階段中只保留必須使用圖形介面的操作。

連線故障排查

依網路、身分、工作階段、畫面的順序定位,不要跳過前置條件

每完成一步都重新測試一次,並儲存完整錯誤文字、發生時間、節點區域與用戶端版本。不要只提交「連不上」或單張裁切螢幕擷取畫面。

連線逾時:先檢查什麼

先確認本機網路可用,再核對節點位址與連接埠是否來自目前的執行個體詳細資料。接著檢查本機防火牆、公司網路策略與 VPN 是否攔截連線。若 SSH 與圖形工作階段同時逾時,優先排查網路路徑與節點狀態,不要反覆重新安裝圖形用戶端。

主機指紋變更:為什麼不能直接忽略

指紋變更可能源於位址輸入錯誤、連線至不同節點或執行個體資訊發生變化。停止連線,在控制台重新核對目前位址與指紋,並確認訂單識別碼及節點區域。只有確認新指紋的來源後,才能更新本機記錄。

驗證失敗:如何區分使用者名稱、金鑰與權限問題

先確認使用者名稱大小寫與執行個體詳細資料一致,再確認用戶端實際載入的是目標金鑰,而非同名舊檔案。檢查金鑰檔案權限、格式與路徑;若啟用了代理程式或金鑰管理工具,也要核對其是否替換了預期的驗證材料。不要連續嘗試多個來源不明的認證資料。

圖形工作階段黑畫面:應依什麼順序檢查

先保持 SSH 連線,確認系統仍可回應;接著檢查是否已有圖形工作階段、顯示參數是否過高,以及用戶端是否支援目前的連線模式。降低至單一顯示器與較低解析度後,重新連線至原工作階段。若 SSH 正常但畫面仍無法使用,記錄用戶端版本與工作階段時間,再提交工單。

工作階段衝突:如何避免多人連線互相影響

團隊應明確指定目前工作階段負責人與交接時間。連線前檢查既有工作階段,退出時使用用戶端的中斷連線或登出操作,不要透過強制建立新工作階段解決佔用問題。若需要保留背景建置,請將工作放入可持續執行的命令列流程,而不是依賴圖形視窗保持開啟。

提交排查資訊

工單至少應包含五類資訊

訂單識別碼、節點區域、問題發生時間、完整重現步驟與去識別化日誌。涉及圖形工作階段時,再補充用戶端名稱、版本、解析度與網路類型。

登入控制台提交工單
安全收尾

結束工作階段不等於關閉視窗,還要一併處理連線痕跡與暫存入口

完成工作後依序退出圖形工作階段、停止不再需要的監聽、檢查認證資料暴露情況,並刪除本機與節點上的暫存交換檔案。

儲存工作並退出圖形遠端工作階段
確認背景建置是否需要繼續執行
關閉不再使用的轉發連接埠與通道
刪除本機暫存連線設定與交換檔案
清理節點上的暫存壓縮檔與去識別化日誌副本
檢查金鑰檔案權限與存放目錄
發現外洩時立即輪換相關認證資料
記錄復原步驟與本次環境變更
認證資料處理

只要無法確認是否外洩,就應視為已外洩處理

若認證資料曾進入公開儲存庫、共享螢幕擷取畫面、公共下載目錄或未受控日誌,應立即停止使用並完成輪換。刪除公開副本不能取代輪換,因為內容可能已被快取或複製。

連接埠處理

暫時建立的入口應在工作結束時關閉

檢查 SSH 通道、連接埠轉送、用戶端背景程序與本機代理程式。只有仍有明確用途的入口才予以保留,並記錄負責人、用途與關閉條件。

環境記錄

保留可重現的資訊,移除敏感材料

保留系統版本、Xcode 路徑、相依套件鎖定檔、建置命令與錯誤摘要;移除私密金鑰、帳戶密碼、復原碼、暫存交換包與未去識別化日誌。

準備好連線至一台獨享實體節點

先選擇設定與節點完成部署;如果仍在整理工具鏈,可繼續閱讀首次部署流程,或前往說明中心排查具體問題。