每人使用獨立金鑰
不要讓多人共用同一把私鑰。獨立金鑰便於識別存取者、單獨撤銷權限,並降低一次洩露影響整個團隊的風險。
REMOTE ACCESS / 連線指南
需要 Xcode、系統設定和圖形工具時,從控制台開啟瀏覽器遠端桌面;執行建置、同步檔案或自動化工作時,使用 SSH。兩種方式連線至同一台獨享實體機,檔案、相依套件和執行環境會持續保留在該節點上。
01 / 選擇方式
瀏覽器遠端桌面與 SSH 並非互相取代。前者提供完整的 macOS 圖形介面,後者適合可腳本化、低頻寬和長時間執行的工作。
| 比較項目 | 瀏覽器遠端桌面 | SSH |
|---|---|---|
| 適用工作 | Xcode 圖形操作、系統設定、應用程式介面檢查、鍵盤與顯示設定 | 建置腳本、Git 操作、安裝相依套件、檢查記錄、自動化與批次檔案處理 |
| 互動方式 | 在瀏覽器中顯示遠端桌面,使用本機鍵盤與指標操作 | 終端機命令列,可搭配金鑰、終端機多工器和腳本執行 |
| 開始前準備 | 節點處於線上狀態、瀏覽器允許必要的工作階段連線,並已取得節點登入資訊 | 節點位址、使用者名稱、私鑰檔案,以及已核對的首次主機指紋 |
| 網路建議 | 優先使用穩定連線;延遲較高時降低解析度和色彩品質 | 頻寬需求較低;長時間工作建議使用終端機多工器,並將記錄寫入檔案 |
| 退出方式 | 先儲存工作,再從桌面工作階段登出或關閉遠端檢視畫面 | 使用 exit 正常結束工作階段,不要直接中斷正在寫入的工作 |
02 / 圖形介面
完整流程通常包含確認節點狀態、核對憑證、建立工作階段和調整本機輸入。若頁面未進入桌面,請勿連續重複提交登入要求。
登入控制台,在執行個體清單中找到目標節點。先確認節點識別碼、區域和狀態與訂單一致,狀態顯示線上後再開啟連線入口。團隊管理多台雲端 Mac 時,應先核對節點識別碼,避免進入錯誤環境。
使用控制台為該節點顯示的登入資訊,不要重複使用其他節點的憑證。貼上時檢查開頭和結尾是否帶入空格;若團隊內部需要交接存取權限,應透過受控的憑證流程完成,而不是在群組聊天或建置記錄中傳遞。
桌面載入後,先開啟不含敏感內容的文字區域,測試字母、數字、符號、Command、Option,以及中英文切換。若按鍵結果與本機鍵盤不一致,先統一本機配置和遠端系統配置,再繼續輸入憑證或命令。
文字編輯與 Xcode 操作可從 1920 × 1080 開始。畫面延遲明顯時,優先降低解析度,再降低色彩品質;網路恢復穩定後再逐項調高,方便判斷是哪項設定造成卡頓。
先等待目前連線完成,再重新整理一次節點詳細資訊。確認瀏覽器沒有封鎖工作階段所需功能,並使用不含擴充功能的獨立視窗重新測試。
記錄具體按鍵、預期字元和實際字元。先統一本機與遠端配置,再檢查瀏覽器是否攔截組合鍵。
確認瀏覽器縮放比例為標準值,再配合遠端解析度。不要同時調整瀏覽器縮放、系統縮放和遠端畫質。
03 / 命令列
連線 SSH 前,需要確認位址、使用者名稱和私鑰來源。首次出現的主機指紋必須與控制台記錄核對,不可直接略過。
ssh-keygen -t ed25519 -f ~/.ssh/mw_node
為 MacWorker 節點單獨建立金鑰,設定本機金鑰密語。不要覆寫團隊已使用的預設金鑰。
export NODE_HOST="控制台顯示的節點位址"
export NODE_USER="控制台顯示的使用者名稱"
以控制台目前顯示的位址和使用者名稱為準。環境變數只會套用於目前的終端機工作階段,可避免連線參數反覆出現在命令歷史中。
ssh -i ~/.ssh/mw_node "$NODE_USER@$NODE_HOST"
終端機顯示指紋後暫停操作,將演算法類型和完整指紋與控制台記錄逐字元核對。完全一致後才確認連線。
exit
退出前確認檔案寫入、相依套件安裝和建置工作已經結束。長時間工作應放入可恢復的工作階段,不要依賴單一終端機視窗持續連線。
04 / 安全基線
獨享實體節點不會與其他租戶共用運算資源,但團隊仍需管理金鑰、憑證、成員變更和登入記錄。
不要讓多人共用同一把私鑰。獨立金鑰便於識別存取者、單獨撤銷權限,並降低一次洩露影響整個團隊的風險。
不要將憑證寫入程式碼儲存庫、建置記錄或專案文件。必須交接時,使用團隊核准的受控流程,並在交接後檢查權限範圍。
成員離開專案或職責變更時,當天移除對應的公開金鑰和控制台存取權限,同時輪換其可能接觸過的共用憑證。
至少依團隊發布週期檢查登入時間、來源和失敗記錄。發現不符合工作時段或地區習慣的活動時,先凍結相關憑證再進行調查。
05 / 檔案傳輸
上傳前先確認工作真正需要的檔案,下載時只取得目標產物。相依套件快取、暫存目錄和歷史封存不應預設隨整個專案傳輸。
scp -i ~/.ssh/mw_node -r ./BuildInput "$NODE_USER@$NODE_HOST:~/Work/"
適合一次上傳明確目錄。傳輸前排除本機記錄、暫存產物和不需要的歷史檔案,並確認目標路徑有足夠磁碟空間。
scp -i ~/.ssh/mw_node "$NODE_USER@$NODE_HOST:~/Work/output.zip" ./Artifacts/
先在節點上整理並驗證產物,再下載單一封存檔。下載完成後比對檔案大小或雜湊摘要,避免不完整的產物進入後續流程。
只同步目前分支和工作所需資源,不要預設複製整個工作目錄。
在高延遲網路下分批傳輸,並避開本機網路壅塞時段。
保留來源檔案,確認大小與摘要一致後,再刪除中間封存檔。
06 / 工作階段最佳化
先判斷問題發生在圖形傳輸還是命令執行。遠端桌面卡頓不一定代表節點運算效能下降;SSH 回應正常時,應先調整畫面參數。
先維持單一顯示區域和適中解析度。延遲明顯時逐級降低,不要同時變更多個參數;操作流暢後再提高文字清晰度。
撰寫程式碼和調整系統設定通常不需要最高色彩品質。降低畫質可減少畫面更新量,完成視覺檢查時再暫時恢復。
將建置、測試和相依套件處理放入終端機多工器工作階段,並將輸出同步寫入記錄檔。重新連線後恢復工作階段,不必從頭執行工作。
tmux new -s build
tmux attach -t build
將長流程拆分為可重複執行的步驟,輸出寫入固定目錄,並記錄最近完成的階段。連線中斷後先檢查程序和產物,不要立即重複啟動同一項工作。
07 / 錯誤速查
排查時保留節點識別碼、發生時間、連線方式和完整錯誤摘要。每次只修改一個變數,避免無法判斷哪個步驟真正生效。
先核對使用者名稱和私鑰路徑,再檢查私鑰檔案權限以及公開金鑰是否已設定至目標節點。使用詳細模式確認用戶端實際嘗試使用哪把金鑰:
ssh -v -i ~/.ssh/mw_node "$NODE_USER@$NODE_HOST"
不要將完整私鑰或含有敏感欄位的詳細記錄傳送給他人。提交支援請求時,只提供錯誤階段、演算法資訊和經過處理的摘要。
確認節點仍處於線上狀態,並等待目前工作階段建立完成。接著使用不含擴充功能的獨立瀏覽器視窗重試,檢查瀏覽器是否封鎖工作階段所需功能。若 SSH 可以連線而桌面持續空白,應記錄瀏覽器版本、發生時間和節點識別碼後提交支援請求。
在不含敏感內容的文字區域記錄預期字元與實際字元,核對本機和遠端系統的鍵盤配置。再檢查 Command、Option、Control 是否被本機系統或瀏覽器快速鍵攔截。調整後逐鍵重新測試,不要直接在憑證輸入區域試錯。
依序檢查本機網路、目標位址、節點狀態和用戶端設定。先切換至已知穩定的本機網路重新測試,再確認位址沒有過期或複製錯誤。若同一節點的兩種連線方式都逾時,應記錄本機時間、所在網路和錯誤持續時間。
立即停止連線,不要透過關閉驗證或直接刪除已知主機記錄來略過提示。先確認節點位址是否變更,再透過控制台核對新指紋及變更原因。完成驗證後,才可移除該位址對應的舊記錄並建立新連線。
READY TO CONNECT
先確認節點已上線,再依工作開啟瀏覽器遠端桌面或設定 SSH。需要圖形操作與命令列協作時,兩種工作階段都能連線至同一台獨享實體 Mac。