Compute Engine 會使用金鑰型 SSH 驗證機制,與 Linux 虛擬機器 (VM) 執行個體建立連線,此外也支援OS 登入 VM 的憑證型驗證機制 (搶先版)。您可以選擇為 Windows VM 啟用 SSH。根據預設,系統不會為 Linux VM 上的本機使用者設定密碼。
您必須先完成幾項設定,才能連線至 VM。如果您使用 Trusted Cloud 控制台或 Google Cloud CLI 連線至 VM,Compute Engine 會代您執行這些設定。
中繼資料管理的 SSH 連線
Compute Engine 會使用自訂專案和/或執行個體中繼資料來設定 SSH 金鑰,並管理 SSH 存取權。點選各個分頁標籤,進一步瞭解 Compute Engine 在您使用 Trusted Cloud 控制台、gcloud CLI 或第三方工具連線至 VM 時,授予 SSH 連線權限前執行的設定。如果您連線至 VM 時未使用 Trusted Cloud 控制台或 gcloud CLI,則必須自行進行一些設定。
主控台
- 您可以使用 Trusted Cloud 控制台中的「SSH」按鈕連線至 VM。
- Compute Engine 會設定使用者名稱,並使用下列設定建立暫時性 SSH 金鑰組:
- 使用者名稱會設為 Google 帳戶中的使用者名稱。舉例來說,如果與 Google 帳戶相關聯的電子郵件地址是
cloudysanfrancisco@gmail.com
,則使用者名稱為cloudysanfrancisco
。 - 公開和私密安全殼層金鑰會儲存在瀏覽器工作階段中。
- 安全殼層金鑰的效期為三分鐘。Compute Engine 建立金鑰三分鐘後,您就無法再使用 SSH 金鑰連線至 VM。
- 使用者名稱會設為 Google 帳戶中的使用者名稱。舉例來說,如果與 Google 帳戶相關聯的電子郵件地址是
- Compute Engine 會驗證您的 SSH 金鑰,並授予連線權限。
- Compute Engine 會將公開 SSH 金鑰和使用者名稱上傳至中繼資料。
- Compute Engine 會從中繼資料擷取 SSH 金鑰和使用者名稱,並以該使用者名稱建立使用者帳戶。在 Linux VM 上,系統會將公開金鑰儲存在 VM 上使用者帳戶的
~/.ssh/authorized_keys
檔案中。在 Windows VM 上,Compute Engine 不會將公開金鑰儲存在 VM 上。 - Compute Engine 會授予連線。
gcloud
- 您可以使用
gcloud compute ssh
指令連線至 VM。 - Compute Engine 會設定使用者名稱,並使用下列設定建立永久 SSH 金鑰組:
- 系統會將本機電腦中的使用者名稱設為你的使用者名稱。
- 公開 SSH 金鑰會儲存在專案中繼資料中。如果 Compute Engine 無法將 SSH 金鑰儲存在專案中繼資料中 (例如,因為
block-project-ssh-keys
設為TRUE
),Compute Engine 會將 SSH 金鑰儲存在執行個體中繼資料中。 - 私密安全殼層金鑰會儲存在本機電腦上。
- SSH 金鑰沒有效期。除非您設定新金鑰,否則往後建立的所有 SSH 連線都會使用這組金鑰。
- 系統會將本機電腦中的使用者名稱設為你的使用者名稱。
- Compute Engine 會驗證您的 SSH 金鑰,並授予連線權限。
- Compute Engine 會將公開 SSH 金鑰和使用者名稱上傳至中繼資料。
- Compute Engine 會從中繼資料擷取 SSH 金鑰和使用者名稱,並以該使用者名稱建立使用者帳戶。在 Linux VM 上,系統會將公開金鑰儲存在 VM 上使用者帳戶的
~/.ssh/authorized_keys
檔案中。在 Windows VM 上,Compute Engine 不會將公開金鑰儲存在 VM 上。 - Compute Engine 會授予連線。
第三方工具
- 建立 SSH 金鑰組和使用者名稱。詳情請參閱 建立 SSH 金鑰。
- 將公開金鑰和使用者名稱上傳至中繼資料。 詳情請參閱「 將 SSH 金鑰新增至使用中繼資料型 SSH 金鑰的 VM」。
- 連線至 VM。
- Compute Engine 會從中繼資料擷取 SSH 金鑰和使用者名稱,並以該使用者名稱建立使用者帳戶。在 Linux VM 上,系統會將公開金鑰儲存在 VM 上使用者帳戶的
~/.ssh/authorized_keys
檔案中。在 Windows VM 上,Compute Engine 不會將公開金鑰儲存在 VM 上。 - Compute Engine 會授予連線。