SSH 或圖形桌面無法進入
從位址、連接埠、金鑰權限、主機指紋與憑證有效性開始。能連上 SSH 但圖形工作階段異常時,再檢查解析度、鎖定狀態與工作階段恢復。
這裡集中整理獨享 Apple Silicon 實體節點的連線、建置、執行器、網路與儲存排查路徑。每個步驟都列出檢查對象、指令,以及可用來判斷下一步的回傳結果。
已有節點時,請先記錄節點編號與問題發生的時間範圍;尚未訂購時,可先查看三種在售配置與四個可選節點。
不要同時修改多個層面的設定。先選擇最接近現象的類別,完成其中的基本檢查,再帶著結果進入下一層。
從位址、連接埠、金鑰權限、主機指紋與憑證有效性開始。能連上 SSH 但圖形工作階段異常時,再檢查解析度、鎖定狀態與工作階段恢復。
先固定 Xcode 版本並保存原始記錄,再核對簽署身分、描述檔、Keychain 權限、DerivedData 與執行器工作目錄。
在控制台核對訂單編號、租用期間、節點編號與付款狀態。請勿在工單中提交金鑰內容或完整付款憑證。
記錄磁碟剩餘空間、磁碟區標籤、網路品質與 Thunderbolt 裝置樹。未備份前不要格式化磁碟或重建磁碟區。
連線失敗不一定代表節點離線。先區分位址錯誤、連接埠無法連線、本機金鑰權限不合規、主機指紋變更,以及伺服器拒絕驗證。
$ chmod 600 ~/.ssh/orbvps_node
$ ssh-keygen -F node-address
$ nc -vz node-address 22
$ ssh -vvv -p 22 \
-i ~/.ssh/orbvps_node \
node-user@node-address
確認使用者名稱與私鑰對應目前節點,並檢查本機 SSH 設定中的其他 IdentityFile 是否覆寫了該金鑰。
核對控制台顯示的位址與連接埠,暫時停用本機代理規則後重新測試,並記錄發生時間與所在網路。
保留完整的 verbose 輸出,不要反覆刪除主機記錄;先確認連接埠是否與節點交付資訊一致。
不要直接忽略警告。先將顯示的指紋與控制台交付記錄核對,確認節點資訊後再更新本機記錄。
從控制台重新讀取位址、連接埠與使用者名稱,不要使用舊終端機歷程中的位址猜測。
私鑰建議僅限目前使用者讀寫,SSH 設定與上層目錄也不應允許無關使用者修改。
使用 verbose 模式重試一次,保留從開始連線到失敗位置的完整輸出,並將位址去識別化。
圖形工作階段與 SSH 是兩條不同的連線路徑。SSH 正常不代表圖形工作階段設定一定正常,因此需要分別記錄現象。
僅使用目前節點交付的圖形工作階段憑證。憑證輪換後,清除用戶端儲存的舊密碼,避免舊記錄持續自動重試。
黑畫面或畫面停滯時,先以較低解析度及單一顯示器連線。進入桌面後再逐步提高尺寸,確認問題是否與顯示參數有關。
若看得到鎖定畫面但無法繼續,先驗證鍵盤輸入與焦點,再透過 SSH 檢查系統負載與磁碟剩餘空間。
先主動關閉用戶端連線,等待工作階段釋放後再重新連線。不要連續快速建立多個並行圖形工作階段,以免混淆目前使用的桌面。
說明 SSH 是否正常、圖形用戶端停在哪個步驟、使用的解析度、用戶端錯誤原文,以及最近一次正常連線的時間範圍。請勿提交完整存取密碼。
先確認實際使用的 Xcode 路徑與版本,再檢查可用簽署身分、描述檔、Keychain 存取權與專案快取。不要在同一次排查中同時升級相依套件與更換簽署材料。
xcodebuild -version 的完整結果。xcode-select -p 核對目前的 Developer 目錄。.xcresult,不要只提交終端機最後幾行。$ xcode-select -p
$ xcodebuild -version
$ security find-identity \
-v -p codesigning
$ profiles show \
-type provisioning
$ xcodebuild \
-workspace App.xcworkspace \
-scheme App \
-configuration Release \
-resultBundlePath Build.xcresult \
build
保留指令、scheme、configuration、失敗目標、第一個 error 及其上下文。提交前移除儲存庫憑證、權杖與業務資料。
self-hosted runner 顯示在線上不代表工作環境完整。檢查執行器程序、工作目錄權限、快取用量、並行工作,以及重新啟動後的自動恢復路徑。
確認執行器服務仍以預期使用者執行,啟動參數指向正確設定。若程序反覆結束,先保存結束碼與最近的記錄。
ps aux | grep -i runner
檢查目錄擁有者、剩餘空間與舊工作鎖定檔。不要直接刪除仍被執行中工作使用的工作目錄。
df -h && du -sh ./work
區分相依套件快取、DerivedData 與建置產物。先定位異常快取索引,再清理單一專案,避免一次清空所有可重用內容。
du -sh ~/Library/Developer/Xcode/DerivedData
核對是否有多個工作競爭同一個 Keychain、模擬器或工作目錄。重新啟動後先執行一項受控測試工作,再恢復正常佇列。
uptime && sysctl -n hw.memsize
如果測試工作成功但並行工作失敗,請同時提供並行數量、工作標籤與共用資源清單。
吞吐量下降、建置變慢與外接磁碟區消失可能呈現相似現象。先擷取系統內建診斷結果,再判斷問題屬於網路、檔案系統或外接裝置路徑。
使用系統內建的網路品質工具記錄上下載能力與回應性,同時記錄測試時間範圍。跨區域結果會受到本地電信業者與路徑影響。
networkQuality -v
route -n get default
ifconfig
先確認系統磁碟區與資料磁碟區的剩餘空間,再找出佔用最大的工作目錄。建置失敗時尤其要檢查暫存目錄與 DerivedData。
df -h
diskutil list
du -sh ~/Library/Developer/*
分別檢查磁碟清單與 Thunderbolt 裝置樹。裝置可見但磁碟區未掛載時,先擷取狀態,不要立即抹除或重新分割。
diskutil list external
system_profiler SPThunderboltDataType
diskutil info /Volumes/VolumeName
OrbVPS 節點全年 365 天正常運作。涉及系統升級、工具鏈切換或需要重新啟動的操作,請由使用者依工作負載自行安排;若基礎設施出現必須處理的緊急變更,相關資訊將記錄於控制台。
記錄目前的 macOS、Xcode、執行器版本、關鍵相依套件與可回復的建置記錄,不要在沒有基準的情況下直接覆蓋工具鏈。
備份儲存庫、簽署材料、執行器設定、快取策略與必要建置產物,並在獨立位置驗證備份可讀取。
暫停新工作,等待執行中的工作完成,保存記錄後再重新啟動。重新啟動期間不要同時修改網路、簽署與建置設定。
依序驗證 SSH、圖形桌面、磁碟掛載、Xcode 版本與一項受控建置工作,再恢復正常並行佇列。