0%

[GCP] Google Compute Engine SSH連線設定

Google Cloud Platform

前言

最近正好在研究 Google Cloud Platform (GCP),GCP 有提供 300 美元的免費試用額度,期限是一年,免費額度用完之後需要升級帳戶才會再繼續扣款,所以可以不用擔心額度用完後就會被收錢,另外 GCP 也有提供免費的方案,可以參考 Google Cloud Platform 免費版,在用量限制內可以免費使用特定的產品。

這裡我們主要使用的產品是 GCP 中的 Compute Engine,它提供了許多主機規格可以自行定義,並依照不同規格來收費,計價方式可以參考 Google Cloud 價目表

這篇文章主要是紀錄在 Google Compute Engine 架設好之後,如何使用 SSH 連線到 Compute Engine 上,而不用從 Google developer console 頁面中連線到機器上。

Linux 和 OSX 連線至 Compute Engine

首先,我們需要先產生 SSH key:

1
$ ssh-keygen -t rsa -f ~/.ssh/ssh-key-gcp -C [username]

其中的 username 是執行個體中要套用的金鑰使用者,如果沒有指定,Compute Engine 會自動使用產生這個金鑰的使用者。

執行完上面的指令之後,會在 ~/.ssh/ 中看到以下檔案:

  • ssh-key-gcp: private key, 權限必須是 600.
  • ssh-key-gcp.pub: public key, 權限為 644.

接著輸入以下指令,印出 public key 內容:

1
$ cat ssh-key-gcp.pub

將 public key 的內容複製後,前往專案的中繼資料頁面:

中繼資料

選擇 SSH 金鑰 後,點選 編輯 按鈕,修改專案的 SSH key,將 public key 的內容貼到 SSH key 清單中,
最後點選 儲存,即可在 Terminal 使用以下指令連線到 Compute Engine:

1
$ ssh -i ~/.ssh/ssh-key-gcp [username]@[compute_engine_ip]

Windows 連線至 Compute Engine

在 Windows 系統中,我們一樣要先產生 SSH key,需要透過 puttygen 這個工具來產生。

下載並執行 puttygen,可以在這個工具中調整金鑰產生的設定,大部分情況下使用預設的選項即可,設定好之後點選 Generate 即可產生金鑰。

接著在 key comment 的地方輸入 username (Google 使用者名稱),並點選 Save private key 將 private key 儲存為 ssh-key-gcp.ppk, 以及點選 Save public key 儲存 public key 以便之後使用。

puttygen

再來將 puttygen 中顯示的 public key 內容複製後,前往專案的中繼資料頁面:

中繼資料

選擇 SSH 金鑰 後,點選 編輯 按鈕,修改專案的 SSH key,將 public key 的內容貼到 SSH key 清單中,最後點選 儲存,再來開啟 putty 後,輸入使用者名稱和 Compute Engine IP:

putty

接著點選 Connection > SSH > Auth,選擇上面步驟所產生的 Private key file (ssh-key-gcp.ppk):

putty

這樣就可以在 Windows 中使用 putty 連線到 Compute Engine 囉!

參考資料