先連線,再執行測試

SSH 執行命令,VNC 檢視桌面,
兩種方式都通

您連線的是一台獨享實體 Mac,不是虛擬機器。請先在控制台的機器詳情頁查看 IP、連線埠與登入資訊;使用 SSH 執行建置和測試,再透過 VNC 檢查 macOS 圖形介面。兩種方式可以搭配使用,不必每次建置都在遠端桌面操作。

已下單:請先確認機器已交付,再開始連線。連線埠、使用者名稱與驗證方式請以該執行個體的詳情為準,不要依範例猜測。

依工作選擇連線方式

建置用 SSH,介面問題用 VNC

先確保命令列連線穩定,再開啟桌面。這樣能分別排查網路和驗證問題,也能避免桌面更新佔用建置日誌回傳所需的頻寬。

SSH:在遠端機器執行命令

適合執行 xcodebuild、執行指令碼、查看日誌及管理建置產物。macOS 終端機、Windows Terminal 中的 OpenSSH,或 Linux 的 SSH 用戶端都能使用。

  • 從執行個體詳情頁查看 SSH 連線埠。22 是常見的預設值,但不代表你的執行個體一定使用這個連接埠。
  • 首次連線時,請先核對主機指紋;確認目標無誤後再完成驗證。
  • 設定公鑰登入。私鑰請留在本機,不要放進專案儲存庫,也不要附在服務單中。
  • 長時間任務請使用已設定的持續工作階段或 CI 執行器,別把本機終端機保持連線當成任務保障。
查看 SSH 與建置範例

VNC:直接檢視 macOS 桌面

適合調整專案設定、檢查模擬器畫面,以及排查只會在圖形介面中出現的問題。可使用 macOS 螢幕共享或 RealVNC 等相容用戶端;支援哪些驗證方式,請以用戶端和執行個體設定為準。

  • 在用戶端輸入執行個體 IP 和 VNC 連線埠,不要使用 SSH 連線埠連接桌面。
  • 請使用詳情頁提供的桌面登入資訊,不要假設它和 SSH 使用相同的驗證方式。
  • 初次連線可先使用 1440 × 900 解析度,再依本機螢幕和網路狀況調整。
  • 若用戶端支援,可先試用 16 位元色深;需要檢視色彩細節時再提高畫質。
查看桌面調校步驟

VNC 不能取代連接本機 USB 裝置。模擬器測試和遠端桌面可以直接安排;若測試需要外接裝置,請先確認裝置的連接條件,再決定租用方式。

從連線到測試結果

先核對指紋,再執行專案命令

以下為教學紀錄,並非目前節點的即時執行結果。請先在本機將環境變數設為執行個體的實際值;App 是範例 scheme,執行前請改成專案中確實存在的名稱。

metalvnc — tokyo-node — zsh
$ ssh -p "$SSH_PORT" "$MAC_USER@$MAC_IP"

The authenticity of host cannot be established.
ED25519 key fingerprint is displayed by your SSH client.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
yes
Authenticated using publickey.

$ xcode-select -p
/Applications/Xcode.app/Contents/Developer

$ xcrun simctl list devices available
== Devices ==
Available simulators are listed by the installed runtime.

$ xcodebuild -scheme App -destination 'platform=iOS Simulator' test
Test Suite 'AppTests' started.
Executed 128 tests, with 0 failures.
** TEST SUCCEEDED **

$ fastlane beta
Build processing completed.
Upload completed successfully.
fastlane finished successfully.

閱讀順序:確認 SSH 驗證成功 → 檢查工具鏈 → 檢查模擬器 → 執行測試 → 檢查封裝與上傳結果。

範例中 128 項通過、0 項失敗,只是用來說明日誌的讀法;實際測試數量、耗時和上傳結果依你的專案而定。

指紋不符,請先停下來核對

首次連線時,請將終端機顯示的指紋與可信來源提供的紀錄核對;若詳情頁未提供指紋,請透過控制台服務單確認。之後若出現主機身分變更提示,不要直接刪除舊紀錄來略過檢查,請先確認是否曾重新安裝系統或更換執行個體。

命令能執行,不代表專案已設定完成

執行測試前,請確認 Xcode 路徑、模擬器執行環境、專案相依項目和共用 scheme。fastlane beta 需要專案中已有對應的 lane、簽署資料和上傳憑證;它不是所有專案都能直接使用的通用上傳命令。

用一致的方式比較節點

先測往返延遲,再評估桌面操作體驗

可選節點包括新加坡、東京、首爾、香港。來源城市到節點之間的網路路由,比地理距離更影響操作反應;即使在同一城市,不同電信業者的測量結果也可能不同。

資料狀態:目前沒有可供查核的各城市測量樣本,因此表格如實標示為「尚未採樣」,不會把估算範圍寫成實測中位數。選擇前請使用自己的網路測量;若要事先評估網路路由,可透過電子郵件或控制台服務單洽詢。

來源城市 × 節點:ICMP 往返延遲中位數,單位:ms
測試來源城市新加坡東京首爾香港
上海尚未採樣尚未採樣尚未採樣尚未採樣
深圳尚未採樣尚未採樣尚未採樣尚未採樣
台北尚未採樣尚未採樣尚未採樣尚未採樣
曼谷尚未採樣尚未採樣尚未採樣尚未採樣
雪梨尚未採樣尚未採樣尚未採樣尚未採樣
洛杉磯尚未採樣尚未採樣尚未採樣尚未採樣
統一採樣方式:使用家用寬頻,於台灣時間晚間尖峰時段,向每個目標傳送 100 次 ICMP 請求;計算成功回應的往返時間中位數,並另外記錄封包遺失率。本表是待採樣紀錄,並非已完成的測量報告;後續結果僅供選擇參考,不代表延遲保證。

從本機測量,不要在遠端測自己

macOS 或 Linux 可在本機執行以下命令。Windows 可使用 ping -n 100 再加上目標 IP。請記錄來源電信業者、時段、成功回應次數與原始輸出;比較時請保持網路和測試條件一致。

ping -c 100 "$MAC_IP"

除了中位數,也要留意抖動和封包遺失

ping 摘要中的平均值不是中位數,需根據每次回應的原始時間計算。持續封包遺失或偶爾出現高延遲,都可能讓 VNC 操作卡頓,即使中位數不高也一樣。ICMP 被封鎖不代表 SSH 或 VNC 無法使用,請繼續檢查實際連線埠。

最後請使用相同的解析度、色深和操作步驟測試桌面:輸入一段文字、拖曳一個視窗,再觀察畫面更新是否穩定。

一次只調整一個變數

把桌面流量留給真正需要查看的畫面

先以低負載設定建立基準,再逐項提高畫質。每次調整後,重複輸入文字、捲動畫面和拖曳視窗;不要同時調整四個選項,否則很難判斷哪一步有效。

  1. 01

    降低色深

    若用戶端支援,請先選擇 16 位元色深或較低畫質,減少每次更新傳輸的資料量。檢視設計稿、色彩或截圖問題時再恢復較高畫質;低色深畫面不適合用來確認色彩。

  2. 02

    關閉動態桌布

    改用靜態桌布,並停止播放無關影片和持續動畫。背景也在更新時,會佔用頻寬傳送與目前工作無關的畫面。檢查模擬器動畫時,只保留需要檢視的視窗。

  3. 03

    限制解析度

    從 1440 × 900 開始,確認看得清楚編輯器和測試視窗後再提高。不要只因本機螢幕支援高解析度,就同步提高遠端桌面解析度;像素越多,傳輸和解碼負擔也越大。

  4. 04

    網路不穩時優先使用命令列

    使用 SSH 執行建置、安裝相依項目和檢查日誌;確實需要圖形介面時再開啟 VNC。將產物和日誌分開傳回,避免大型檔案傳輸與桌面更新同時搶用上行頻寬。

連線後,先收緊權限

先保留退路,再修改驗證設定

獨享實體機代表環境由你管理,不代表公網連線自動安全。變更任何驗證或防火牆設定前,請先保留一個已連線的工作階段,再用第二個工作階段測試新設定。

變更初始密碼

交付後請盡快更換初始密碼,設定專用且足夠長的密碼,不要重複使用程式碼託管平台或電子郵件的密碼。登入資訊只儲存在受管理的密碼管理工具中,不要寫進建置日誌或儲存庫。

驗證:開啟新的工作階段測試新登入資訊,確認成功後再關閉舊工作階段。

SSH 僅使用金鑰登入

先安裝公鑰並確認私鑰登入可用,再調整 SSH 驗證政策。自動化工作請使用專用金鑰,依工作分配權限;人員離職或金鑰外洩時,請立即撤銷對應公鑰。

驗證:在第二個終端機使用指定私鑰連線,不依賴舊工作階段。

只開放必要連線埠

只保留工作所需的連線入口;情況允許時,限制來源 IP。遠端桌面請優先使用受保護的連線方式;分別確認 SSH 和 VNC 規則,不要為了排查問題而長期關閉所有防護。

驗證:必要連線埠可連線,不需要的入口維持關閉。

離開時鎖定桌面

除錯完成後請鎖定螢幕並中斷用戶端連線,清除暫時下載的敏感資料。團隊協作時不要共用同一把私鑰;建置所需的金鑰和憑證請依團隊既有流程管理。

驗證:重新連線桌面時必須驗證,日誌和截圖中不含機密資訊。

依連線路徑逐層排查

無法連線時,別急著重灌系統

先分辨是逾時、連線遭拒還是驗證失敗。一次只檢查一個環節,並保留原始錯誤訊息;反覆修改密碼、連線埠和防火牆設定,會讓最初的問題失去線索。

  1. 01

    核對 IP 和執行個體

    重新開啟控制台的機器詳情頁,確認執行個體已交付,且目標位址屬於目前的機器。不要使用舊筆記、截圖或另一台機器的位址,也不要將範例中的變數名稱直接填入用戶端。

  2. 02

    核對通訊協定和連線埠

    SSH 用戶端使用 SSH 連線埠,VNC 用戶端使用桌面連線埠。「逾時」時優先檢查網路和規則;「連線遭拒」時優先檢查連線埠和服務是否正在監聽。ping 能連通不代表應用程式連線埠也能連通。

  3. 03

    核對使用者名稱和登入資訊

    驗證失敗時,請檢查使用者名稱、金鑰檔案及用戶端選用的驗證方式。排除複製時多出的空格,確認使用的是目前執行個體的登入資訊。若主機指紋異常,請先核對身分,不要略過警告。

  4. 04

    檢查本機網路政策

    檢查本機防火牆、Proxy、公司網路出口及用戶端權限。可在經許可的另一個網路環境重新測試,判斷問題是否隨網路路由改變。不要為了成功連線一次而永久關閉安全軟體。

仍無法排除:提交可重現問題的服務單

請提供執行個體識別碼、連線通訊協定、目標連線埠、完整錯誤訊息、發生時間與時區,以及已完成的排查步驟。說明「SSH 可用但 VNC 無法使用」比只寫「連不上」更有幫助;附上截圖和日誌前,請先移除密碼、私鑰、權杖和其他敏感資訊。

已購買機器的問題,請在控制台提交服務單,方便關聯執行個體。購買前若想詢問網路路由或用戶端相容性,請寄信至 support@metalvnc.com。

連線方式已明確

選擇離你最近的節點啟動機器

比較兩種 M4 規格的記憶體和儲存空間,再選擇節點與計費週期。先透過實際網路測試 SSH 和桌面操作體驗,再安排持續建置任務;服務可用性以控制台即時顯示為準。