使用 VS Code 遠端 SSH 開發

遠端開發的使用情境

  • 重度後端或資料科學專案:需要多核心與大記憶體;本機只作「視窗與輸入」。
  • 團隊一致性:所有人連到同樣的映像或主機層級設定,避免「在我電腦可用」的分歧。
  • 安全與合規:程式碼留在受控的網段;本機僅為通道。
  • 跨平台一致:在 macOS/Windows 端保持同一套工作流,遠端跑 Linux 即可。

產生 SSH Key

在 Terminal 執行以下命令。金鑰預設會放在 /Users/你的名稱/.ssh

ssh-keygen

畫面會詢問檔名;可直接按 Enter 使用預設的 id_rsa。我在這次範例輸入的是:

jarvis.zheng-GithHub

在 Mac 上可用快捷鍵顯示隱藏資料夾:Command + Shift + .

公鑰(jarvis.zheng-GithHub.pub)要複製到 GCP,私鑰(jarvis.zheng-GithHub)留在本機,SSH 連線時會用這組金鑰驗證身分。

產生的公鑰與私鑰.jpg

下圖是 GCP Compute Engine 的公鑰設定位置。


在GCP上面把公鑰複製上去.jpg

接著在 VS Code 安裝 Remote Development 擴充套件。

VSCode安裝RemoteDevelopment.jpg

安裝後,點選 VS Code 左下角的遠端連線圖示,再選 Connect to Host。伺服器格式為 username@server_host。

在 GCP 中就是:使用者名稱@外部 IP。

在VScode安裝並且連線GCP的外部IP.jpg

使用結果

VS Code 負責本機編輯介面,程式與運算則留在遠端主機。完成金鑰、ssh_config 和擴充套件設定後,就能直接開啟遠端專案進行日常開發。
如果團隊也採用這套方式,可以把連線步驟整理成 SOP,減少每個人重複設定的時間。


補充:建立 SSH Key 時遇到檔案權限問題

處理方式:

Google Cloud Platform: SSH to Google cloud instance will have “Permission denied (publickey)”
I have come across the issue as below when I use ssh login google cloud instance $ ssh -i DD2 [email protected] Permission denied (publickey). After some testing, I found that the cause of the er…
Author image
關於 Richard Zheng
About me 喜歡爬山,瑜伽,溜冰,喜歡新奇的事,最喜歡的還是寫程式帶來的成就感,對於資訊會不斷的出現新事物也能抱持好奇與熱忱。近期開始將學習的心得寫在Blog,發現思路更清晰也加深了記憶。 紙上得來終覺淺,絕知此事要躬行