遠端連線 · 先連線,再建置

連線至你的雲端 Mac

透過 VNC 使用 macOS 圖形介面,透過 SSH 執行指令碼與 CI 工作。你連線的是一台獨享實體 Mac,不是虛擬機器;Xcode 除錯與自動化建置可各自使用合適的方式。

已啟用主機?請先準備主機位址、SSH 連接埠、使用者名稱與連線憑證。下文建議透過 SSH 通道連線 VNC。

圖形操作
VNC 螢幕共享
執行指令
SSH / runner
macOS 圖形工作區 連線後示意
Xcode 專案 Release 建置檢查

同一台實體節點上的圖形介面與命令列

BuildSettings.xcconfigRelease
CONFIGURATION = Release
SDKROOT = iphoneos
DEBUG_INFORMATION_FORMAT = dwarf-with-dsym
ENABLE_TESTABILITY = NO
封存簽署匯出
模擬器預覽
介面檢查 版面配置 · 互動
VNC:查看與操作桌面 SSH:執行建置指令
工作區版面配置示意,並非即時桌面或效能測試結果。實際系統介面與工具版本依主機設定而異。
選擇合適的連線方式

要查看畫面,還是只執行指令?

第一次設定工具鏈時,可以先透過螢幕共享確認圖形設定;流程穩定後,再讓 runner 透過命令列執行工作。兩種方式都會連線至同一台主機,無須為圖形操作另外建置一套環境。

圖形介面

VNC 螢幕共享

適合開啟 Xcode、檢查模擬器、查看 Keychain 設定,以及排查需要滑鼠操作的步驟。你看到的是遠端主機畫面,編譯工作並不會因此改在本機執行。

  • 先使用單一顯示器與適中的解析度,確認文字、滑鼠和鍵盤輸入正常。
  • 建議透過 SSH 通道連線,不要將 VNC 連接埠直接公開至網際網路。
  • 關閉檢視器不代表關閉主機;長時間工作應交由 CI 或可恢復的工作階段執行。
適用工作:介面除錯、初次設定、互動式問題排查
命令列

SSH 與 self-hosted runner

適合安裝相依套件、執行 xcodebuild、整理記錄與註冊 CI runner。SSH 不會傳輸桌面畫面,日常指令碼工作不必同時保持 VNC 連線。

  • 首次連線時先確認主機指紋,再接受主機金鑰。
  • 互動式管理建議使用 SSH 公開金鑰;自動化工作請使用可個別撤銷的憑證。
  • 持續建置交由 runner 服務執行,不必讓筆記型電腦一直開著終端機。
適用工作:自動化打包、相依套件管理、記錄診斷

請勿混淆 VNC 桌面密碼、SSH 登入密碼與 SSH 私鑰密碼。若連線失敗,先確認憑證所屬的通訊協定,再調整用戶端設定。

macOS 用戶端

從 Finder 開始連線,透過螢幕共享操作桌面

建議先完成下文的 SSH 通道設定,再連線至本機轉送位址。如此一來,VNC 資料會透過加密通道傳輸,無須另外開放遠端桌面連接埠。

  1. 01

    確認主機資訊

    登入控制台,找到對應執行個體的連線資訊。記下主機位址、SSH 連接埠與使用者名稱;另行確認 VNC 憑證。若位址或連接埠與範例不同,請一律使用執行個體提供的實際資訊。

  2. 02

    保持通道連線

    在本機終端機執行本頁的轉送指令。使用 -N 時,成功後沒有互動式命令提示字元是正常現象。請保持終端機開啟;若出現錯誤,先排除錯誤,不要繼續嘗試連線桌面。

  3. 03

    輸入 VNC 位址

    在 Finder 中選擇「前往 → 連接伺服器」,或按 ⌘ K,輸入 vnc://127.0.0.1:15900。系統會開啟「螢幕共享」App,接著依提示輸入遠端 VNC 連線憑證。

  4. 04

    先確認連線,再調整畫面

    先確認能操作 Finder、輸入文字並開啟 Xcode。需要操作時請選擇控制模式,而非僅供檢視的模式;若畫面超出本機視窗,先啟用縮放顯示,再依網路狀況調整畫質。

本機迴路位址只適用於執行通道的電腦。若要在另一台電腦開啟檢視器,必須在該電腦上另外建立通道,無法沿用前一台電腦的本機連線。

Windows / Linux 用戶端

主機與連接埠分開填寫,先從保守的畫質設定開始

請使用支援 VNC 通訊協定的檢視器,例如 TigerVNC。Windows 可使用 OpenSSH 用戶端,Linux 可在終端機使用 ssh 建立通道;接著透過桌面檢視器連線至本機轉送連接埠。

Windows:先執行 SSH,再開啟檢視器

在 PowerShell 或 Windows Terminal 中執行通道指令。若系統提示找不到 ssh,請先確認是否已安裝系統的 OpenSSH 用戶端功能。

在 VNC 檢視器的主機欄位填入 127.0.0.1,連接埠欄位填入 15900。部分用戶端會將單冒號後的數字視為顯示編號;若只有一個位址欄位,請依該用戶端的「明確指定連接埠」格式輸入。

鍵盤對應:先確認 Command、Option 與常用快速鍵。

Linux:分開排查通道與畫面

在一個終端機中保持 SSH 通道執行,再啟動圖形 VNC 檢視器。若通道已中斷,檢視器無法連線至本機連接埠,並不代表遠端桌面密碼錯誤。

透過套件管理器安裝用戶端時,請選擇支援遠端驗證方式的版本。若遇到「不支援的安全類型」,請先確認相容性,不要直接停用驗證或降低伺服器安全設定。

網路檢查:確認用戶端實際連線至本機轉送連接埠。
以下為用戶端的初始設定建議,並非畫質或影格率保證;選項名稱會因檢視器版本而異。
設定項目 初始建議 何時調整
色彩深度 自動選擇;網路受限時可試用 16-bit 檢查螢幕截圖、色彩或細小文字時,改用完整色彩;降低色彩深度不適合用於色彩驗收。
編碼與壓縮 保留自動編碼,使用自適應壓縮 拖曳視窗明顯卡頓時,可適度提高壓縮;文字模糊時,請降低有損壓縮。
桌面尺寸 先使用 1440 × 900 或 1600 × 900 確認互動操作穩定後再提高解析度,避免一開始就傳輸多個高解析度畫面區塊。
持續更新 使用自適應更新,關閉不必要的持續更新 只有在排查動態介面時才提高更新頻率;編輯程式碼不需要影片等級的畫面更新。
剪貼簿 按需啟用,進行敏感操作時關閉同步 複製憑證密碼或其他憑證前,先確認本機與遠端的同步方向。
建議連線方式

透過 SSH 通道傳輸 VNC

以下位址僅供文件示範,無法直接連線。請將 192.0.2.10、macuser 和連接埠替換成控制台提供的實際連線資訊。範例假設遠端 VNC 服務正在主機的 5900 連接埠上監聽。

本機檢視器127.0.0.1:15900
SSH 加密通道主機位址與 SSH 連接埠
遠端 VNC 服務127.0.0.1:5900
在你的本機電腦執行
ssh -N -T -L 127.0.0.1:15900:127.0.0.1:5900 -o ExitOnForwardFailure=yes -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -p 22 macuser@192.0.2.10

這個指令會做什麼

-L 只會在本機迴路位址監聽;第一個連接埠是本機入口,最後一個連接埠則是遠端 VNC 服務的連接埠。-p 指定 SSH 連接埠,不是 VNC 連接埠。-N -T 代表只進行轉送,不開啟遠端互動式終端機。

如何確認連線與中斷通道

首次連線時先確認 SSH 指紋。連線成功後,使用檢視器連線至本機連接埠;按 Ctrl C 即可關閉通道。若提示本機連接埠已被使用,可將 15900 改成其他未使用的連接埠,並同步修改檢視器位址。

依層級排查錯誤

連線逾時時,先檢查位址、SSH 連接埠與來源限制;驗證失敗時,先檢查使用者名稱與金鑰;若轉送目標拒絕連線,請確認遠端 VNC 服務及連接埠。不要遇到任何連線問題都只靠反覆修改密碼來處理。

先確認金鑰登入正常,再停用密碼登入

為本機建立專用的 Ed25519 金鑰,並設定私鑰密碼。只將公開金鑰內容加入遠端使用者的 ~/.ssh/authorized_keys;私鑰請留在本機,不要上傳至主機、程式碼儲存庫或支援案件。

若已存在同名金鑰,請勿覆寫。可以改用新的檔名,並在連線時透過 -i 指定金鑰。公開金鑰檔案的副檔名為 .pub ,私鑰檔案則沒有這個副檔名。

建立連線專用金鑰
ssh-keygen -t ed25519 -a 64 -f ~/.ssh/armrdp_ed25519

在 macOS 與 Linux 上,遠端使用者的 ~/.ssh 目錄通常設為 700,authorized_keys 設為 600。Windows 本機私鑰應透過檔案存取權限限制讀取,不要直接照搬 Unix 權限指令。

畫面與連線

先減少畫面負載,再評估節點距離

編譯在遠端執行,但桌面回應也會受到本機網路、跨網路路由、解析度與畫面變化量影響。不要以一次在 VNC 中拖曳視窗的感受評估主機編譯效能,也不要直接以地理距離推算延遲。

  1. 01

    先縮小畫面範圍

    只保留一台顯示器,減少高解析度桌面、動態背景與多視窗動畫。調整遠端桌面尺寸,比單純縮小本機檢視器視窗更能減少待傳輸的畫面資料。

  2. 02

    一次只調整一個項目

    依序測試解析度、色彩深度與壓縮。使用相同操作進行比較,例如開啟同一個專案或拖曳同一個視窗;若同時變更多個設定,就難以判斷哪些設定真正有效。

  3. 03

    接著檢查網路路徑

    暫停本機的大型檔案傳輸,並優先使用穩定的有線網路。可以比較 SSH 的互動回應與 VNC 畫面更新速度:若前者流暢、後者遲緩,先排查畫面設定,不要立刻更換機型。

5 個節點的地理位置與時區參考。以下並非逐城市實測延遲;可用性請以控制台即時資訊為準。
節點 當地時區 選擇時優先考量
新加坡 UTC+8 若團隊主要位於東南亞,可將此節點作為首次連線測試的選擇。
日本(東京) UTC+9 若團隊主要位於日本或東亞,可比較本地網路連線至此節點的實際路徑。
韓國(首爾) UTC+9 若團隊主要位於韓國或東北亞,請一併考量電信業者的路由。
香港 UTC+8 若團隊主要位於華南或東南亞,可確認互動體驗與程式碼儲存庫的存取路徑。
美國西岸 UTC−8 / UTC−7 若團隊主要位於北美西岸,可優先評估此節點;時區會隨當地日光節約時間調整。

若桌面僅供偶爾設定,選擇節點時也應考量程式碼儲存庫、相依套件快取與建置成品的上傳路徑。持續打包時,優先確保工具鏈與流程穩定;VNC 不必整晚保持連線。

連線安全

每次調整權限,都保留一條可驗證的連線方式

遠端安全設定的調整順序很重要。先確認新方式可用,再撤銷舊方式;避免同時修改金鑰、來源位址與驗證政策,以免無法判斷問題出在哪裡。

停用密碼登入前

保留目前的 SSH 工作階段,另開一個終端機,使用指定的私鑰建立新連線,並確認所需的管理權限。確認成功後,再調整 SSH 密碼驗證政策;修改前先檢查設定語法,並依目前系統的服務管理方式套用設定。

驗證標準:新工作階段可使用公開金鑰登入,且必要指令能正常執行。

限制來源 IP 前

先確認本機對外的公用 IP 是否固定,再於適用的網路或主機存取規則中允許該位址。不要將家用網路的動態對外位址視為固定位址,也不要在不確定介面的情況下直接套用防火牆指令。

驗證標準:允許的網路可連線,其他來源無法存取相應連接埠。

定期輪替憑證

不同成員與自動化工作應使用不同的金鑰。成員離開、裝置遺失或金鑰可能外洩時,先部署並測試新的公開金鑰,再刪除舊金鑰;同時檢查 CI 中儲存的憑證與相關存取記錄。

驗證標準:舊金鑰已撤銷,目前的 runner 與管理連線仍可使用。

還是無法連線?請說明問題發生在哪一層

登入控制台提交支援案件,並附上主機編號、用戶端作業系統與版本、使用的通訊協定、完整錯誤訊息、發生時間與時區,以及是否透過 SSH 通道連線。請先遮蔽截圖中的密碼、權杖與其他敏感資訊;不要傳送私鑰或完整憑證。

確認連線正常,再交由 runner 執行建置

可先按天租用,入門價格為 $21.1/天。先確認 SSH 與螢幕共享都能正常使用,再固定 Xcode 與相依套件版本,讓日常打包不必依賴本機電腦持續連線。