安全連線工作單

將雲端 Mac 接入你的開發終端、圖形桌面與 CI 佇列

ZoneMini 提供獨享實體主機,而非虛擬機。你可以使用 SSH 執行建置指令,透過 macOS 螢幕共享處理圖形介面工作,或將固定節點註冊為 CI Runner。請先核對連線資料,再選擇入口,切勿在聊天記錄或管線日誌中暴露憑證。

3 種入口
命令列、圖形介面、自動化 Runner
5 個節點
新加坡、日本(東京)、韓國(首爾)、香港、美國東部
1 項原則
依人員、用途與最小權限分配憑證
連線方式總覽

先依工作選擇入口,不要把圖形桌面當成唯一通道

三種方式可以並存。日常自動化優先使用 SSH 或 Runner;只有需要查看 Xcode 介面、調整系統設定或進行圖形化診斷時,才開啟螢幕共享。

LOW OVERHEAD

適合持續建置與遠端管理

用於拉取儲存庫、安裝相依套件、執行測試、執行 Xcode 命令列建置、查看日誌、同步產物與檢查磁碟。穩定的腳本應使用金鑰驗證,並將節點別名寫入本機 SSH 設定。

  • 適合可腳本化、可稽核的操作
  • 弱網路環境下比圖形介面更容易復原
  • 可搭配工作階段保持工具執行長時間工作
首次連線準備

取得連線資料後,先完成六項核對

連線失敗通常不是主機故障,而是節點位址、使用者名稱、網路策略或訂單狀態未對齊。依照以下順序檢查,可避免反覆嘗試。

  1. 01

    確認訂單狀態

    登入控制台查看實例是否已交付,並確認目前訂單對應的機型、節點與租用期間。連線資料應逐項對應至該實例。

  2. 02

    核對節點位址

    複製控制台提供的主機位址,切勿沿用舊工單、舊腳本或團隊聊天記錄中的位址。多節點團隊應為位址加上用途標籤。

  3. 03

    核對登入使用者名稱

    SSH 使用者名稱與圖形工作階段使用者名稱可能分別用於不同入口。不要猜測預設使用者名稱,也不要在腳本中硬編碼臨時密碼。

  4. 04

    準備臨時憑證

    臨時憑證僅供首次登入使用。成功登入後立即更新,並將新憑證儲存在團隊核准的密碼管理流程中。

  5. 05

    檢查本機網路

    確認目前網路允許目標連接埠對外連線。企業網路、代理伺服器與安全軟體可能限制 SSH 或圖形連線,應先與網路管理員確認。

  6. 06

    建立主機記錄

    登錄節點、用途、負責人、主機指紋與憑證輪換時間。首次連線後不要忽略主機指紋變更警告。

連線資料屬於敏感資訊

不要將臨時憑證、SSH 私鑰、儲存庫權杖或簽署憑證貼到公開問題、完整管線日誌或未加密文件中。提交支援請求時,只提供已去識別化的指令輸出。

進入控制台核對連線資料
SSH 連線步驟

先驗證主機身分,再切換至金鑰登入

以下指令使用預留位置,不包含真實節點位址或憑證。請將預留位置替換為控制台提供的資訊,並在可信任的網路環境中執行。

STEP 01

收集並核對主機指紋

首次連線前先收集 ED25519 主機公開金鑰,計算指紋後與交付資料核對。未完成核對前,切勿直接忽略警告。

STEP 02

建立獨立金鑰

為 ZoneMini 節點建立專用金鑰組。私鑰保留在本機受控裝置上,再將公開金鑰寫入遠端授權清單。

STEP 03

設定易讀別名

在 SSH 設定中儲存主機位址、使用者名稱、金鑰路徑與工作階段保持參數,避免每次手動輸入或混用不同節點。

STEP 04

驗證後停用密碼依賴

確認金鑰登入成功後,再更新臨時憑證。金鑰尚未驗證前,不要刪除唯一可用的登入方式。

主機指紋核對
ssh-keyscan -t ed25519 <node-address> > zonemini_hostkey
ssh-keygen -lf zonemini_hostkey
建立金鑰並連線
ssh-keygen -t ed25519 -f ~/.ssh/zonemini_ed25519
ssh-copy-id -i ~/.ssh/zonemini_ed25519.pub <user>@<node-address>
ssh -i ~/.ssh/zonemini_ed25519 <user>@<node-address>
~/.ssh/config
Host zonemini-build
  HostName <node-address>
  User <user>
  IdentityFile ~/.ssh/zonemini_ed25519
  ServerAliveInterval 30
  ServerAliveCountMax 3

macOS 螢幕共享

圖形介面適用於需要查看桌面的工作

螢幕共享適合 Xcode 圖形化除錯、核對系統設定與檢查封存結果。建置腳本、日誌收集與批次工作仍建議透過 SSH 完成。

FINDER / CONNECT

從 Finder 發起連線

在 macOS Finder 中選擇「前往」與「連接伺服器」,輸入交付資料中的伺服器位址,再使用授權使用者名稱與憑證進入工作階段。

位址格式示意 vnc://<node-address>
  1. 01

    開啟連接伺服器

    使用 Finder 的連接伺服器入口,切勿透過來源不明的捷徑儲存憑證。

  2. 02

    輸入授權資訊

    核對使用者名稱與節點位址後輸入憑證。多人協作時不要共用同一組長期登入資訊。

  3. 03

    調整顯示品質

    網路不穩時先降低解析度或色彩品質。高解析度桌面會增加傳輸量與輸入延遲。

  4. 04

    限制剪貼簿內容

    不要複製私鑰、完整權杖或明文密碼。跨工作階段貼上前,先確認目標視窗與目前使用者。

  5. 05

    結束後鎖定工作階段

    關閉用戶端不一定等於離開桌面。工作完成後鎖定工作階段,並關閉不再需要的敏感視窗。

跨平台圖形存取

非 macOS 用戶端先確認通訊協定、網路與顯示能力

Windows 或 Linux 工作站需要準備相容的圖形連線工具。不同用戶端在快速鍵、剪貼簿、色彩、縮放與多螢幕支援方面可能有所差異,應先用非敏感工作進行驗證。

用戶端準備

選擇支援目標連線通訊協定、加密傳輸與自訂解析度的用戶端。安裝來源應經團隊審核,並保持版本更新。

  • 確認鍵盤配置與特殊按鍵對應
  • 確認是否支援剪貼簿開關
  • 確認全螢幕退出與工作階段鎖定方式

網路準備

先驗證 DNS、路由與目標連接埠,再測試圖形工作階段。公司代理伺服器、出口防火牆與無線網路切換都可能造成工作階段中斷。

  • 優先使用穩定的有線或可信任網路
  • 避免在連線途中頻繁切換網路
  • 保留 SSH 作為獨立診斷通道

顯示設定

先使用單一螢幕與中等解析度完成驗證,再逐步增加畫面尺寸。出現黑畫面或畫面裁切時,回到較低解析度重新建立工作階段。

  • 依用戶端視窗大小調整縮放
  • 關閉不必要的動畫與透明效果
  • 高色彩精度工作先進行本機比對

跨平台連線的判斷標準

能穩定輸入、清楚閱讀日誌、正確對應常用快速鍵,並安全結束工作階段,才適合納入日常流程。若工作完全可以腳本化,優先使用 SSH 或 CI Runner。

CI Runner 接入

讓固定節點處理可重現的佇列工作

Runner 應使用獨立帳戶、獨立工作目錄與受限權杖。先完成一條最小測試管線,再加入簽署建置、快取與封存步驟。

  1. 01

    建立專用工作目錄

    將原始碼、相依套件快取、建置中間檔案與最終產物分開,方便設定清理策略及排查磁碟用量。

  2. 02

    註冊受限 Runner

    權杖僅授權目標儲存庫與必要操作。不要重複使用個人存取權杖,也不要將權杖寫入儲存庫或建置輸出。

  3. 03

    設定佇列標籤

    依 Xcode 版本、專案類型、機型或工作負載設定標籤,避免不相容工作被排程至錯誤環境。

  4. 04

    執行測試與封存

    先執行相依套件檢查與單元測試,再進行封存。失敗時保留必要日誌,不要無條件上傳整個使用者目錄。

  5. 05

    回傳產物並清理

    確認產物已進入目標儲存空間後,刪除臨時憑證、臨時鑰匙圈、過期快取與不再需要的建置目錄。

RUN / ARCHIVE / CLEAN 最小工作骨架
set -euo pipefail

WORK_DIR="$HOME/ci-work/project"
RESULT_DIR="$HOME/ci-results"

mkdir -p "$WORK_DIR" "$RESULT_DIR"
cd "$WORK_DIR"

git fetch --prune
git checkout "$CI_COMMIT_REF"

xcodebuild \
  -scheme "$CI_SCHEME" \
  -destination "generic/platform=iOS" \
  test

xcodebuild \
  -scheme "$CI_SCHEME" \
  -archivePath "$RESULT_DIR/App.xcarchive" \
  archive

find "$WORK_DIR" -name "*.tmp" -delete
輸入:儲存庫、分支、受限環境變數 工作:測試、封存、日誌收集 產物:封存檔案、去識別化日誌、結束狀態
安全清單

將存取權限視為建置相依性來管理

權限應有負責人、用途與到期時間。長期無人管理的共用帳戶、儲存庫權杖與暫存檔案,會讓固定建置環境逐漸失去可稽核性。

A1

啟用金鑰驗證

每位維護人員使用獨立金鑰。成員離開專案時移除對應公開金鑰,不影響其他人的存取權。

A2

限制共用帳戶

需要共用環境時,也應區分個人登入與自動化帳戶。不要讓 Runner 使用管理員的日常帳戶。

A3

定期輪換權杖

為儲存庫權杖、Runner 註冊權杖與臨時存取憑證設定輪換記錄,及時刪除失效權杖。

A4

最小化儲存庫權限

建置工作只取得所需的儲存庫與分支權限。上傳產物與讀取原始碼可以使用不同憑證。

A5

鎖定圖形工作階段

離開桌面前鎖定工作階段,關閉含有敏感內容的視窗,並清除不再需要的剪貼簿內容。

A6

清除無用憑證

工作結束後刪除臨時私鑰、一次性權杖、臨時鑰匙圈與不再使用的授權檔案。

連線故障快速查詢

先分類,再收集最少但有用的證據

不要連續更換密碼、位址與用戶端碰運氣。先記錄錯誤類型、發生時間、本機網路、節點與入口,再執行對應檢查。

SSH、螢幕共享與遠端工作階段常見問題檢查表
現象 先檢查 可執行操作 提交支援時附上
連線逾時 節點位址、本機網路、出口規則、目標連接埠 切換至可信任網路;測試連接埠連通性;確認未使用舊位址 發生時間、節點、用戶端網路類型、去識別化探測結果
驗證失敗 使用者名稱、金鑰路徑、檔案權限、憑證是否已更新 使用詳細 SSH 日誌找出選用的金鑰;核對授權公開金鑰 錯誤行、使用者名稱、金鑰指紋,不附私鑰或完整密碼
主機指紋變更 是否更換節點位址、重建實例或修改本機別名 停止連線;從控制台重新核對指紋;確認後再更新記錄 節點、舊指紋、新指紋與首次發現時間
圖形工作階段黑畫面 工作階段是否已鎖定、顯示解析度、用戶端相容性 降低解析度;重新建立工作階段;透過 SSH 檢查系統狀態 用戶端系統、用戶端版本、顯示設定與去識別化截圖
解析度異常 用戶端縮放、多螢幕模式、視窗尺寸 退回單一螢幕與中等解析度,再逐項還原設定 預期解析度、實際解析度、縮放比例與用戶端類型
工作階段頻繁中斷 無線網路切換、代理伺服器、閒置策略、連線抖動 使用穩定網路;為 SSH 設定保持連線;將長時間工作放入持久工作階段 中斷頻率、持續時間、網路變化與相關日誌片段
連接埠與路由檢查
nc -vz <node-address> 22
route -n get <node-address>
SSH 詳細日誌
ssh -vvv zonemini-build 2>&1 | tee ssh-debug.log
工單資料包

讓支援團隊可以直接開始定位問題

請提供訂單編號、ZoneMini M4 Core / ZoneMini M4 Plus / ZoneMini M4 Pro 其中一款、節點、發生時間、連線方式、重現步驟、預期結果與去識別化日誌。不要上傳憑證私鑰、儲存庫權杖或完整密碼。

下單前準備

先確定工作入口、機型與節點,再建立連線記錄

準備好用途、並行工作數、所需記憶體、目標節點與租用期間。現有訂單可透過控制台查看連線資料;設定問題可先查閱說明中心。