Compute Engine 會使用金鑰型 SSH 驗證機制,與 Linux 虛擬機器 (VM) 執行個體建立連線,此外也支援OS 登入 VM 的憑證型驗證機制 (搶先版)。您可以選擇為 Windows VM 啟用 SSH。根據預設,系統不會為 Linux VM 上的本機使用者設定密碼。
您必須先完成幾項設定,才能連線至 VM。如果您使用 Google Cloud 控制台或 Google Cloud CLI 連線至 VM,Compute Engine 會代您執行這些設定。 Compute Engine 會根據您用來連線的工具,以及您是否透過中繼資料或 OS 登入管理 VM 存取權,執行不同的設定。OS 登入僅適用於 Linux VM。
中繼資料管理的 SSH 連線
根據預設,Compute Engine 會使用自訂專案和/或執行個體中繼資料來設定 SSH 金鑰,並管理 SSH 存取權。所有 Windows VM 都會使用中繼資料管理 SSH 金鑰,而 Linux VM 則可使用中繼資料金鑰或 OS 登入。如果您使用 OS 登入,系統會停用中繼資料安全殼層金鑰。點選各個分頁標籤,進一步瞭解 Compute Engine 在您使用 Google Cloud 控制台、gcloud CLI 或第三方工具連線至 VM 時,授予 SSH 連線權限前執行的設定。如果您連線至 VM 時未使用 Google Cloud 控制台或 gcloud CLI,則必須自行進行一些設定。
主控台
- 您可以使用 Google 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 會授予連線。
OS 登入管理型 SSH 連線
設定 OS 登入中繼資料後,Compute Engine 會刪除虛擬機的 authorized_keys
檔案,且不再接受專案或執行個體中繼資料中儲存的 SSH 金鑰連線。OS 登入支援來自與 Google 帳戶相關聯的 SSH 金鑰,以及由 OS 登入憑證授權單位簽署的 SSH 憑證 (搶先版) 的連線。您可以選擇要求 OS 登入僅允許使用 SSH 憑證的連線,詳情請參閱「透過 OS 登入要求使用 SSH 憑證」。
安全殼層金鑰連線
按一下各個分頁標籤,進一步瞭解 Compute Engine 在您使用 SSH 金鑰連線至 VM 時,授予 SSH 連線權限前執行的設定。視您使用 Google Cloud 控制台、gcloud CLI 或第三方工具連線至 VM 而定,Compute Engine 會執行不同的設定。如果您使用第三方工具連線,則必須自行執行部分設定。
主控台
- 您可以使用 Google Cloud 控制台中的「SSH」按鈕連線至 VM。
- Compute Engine 會設定使用者名稱,並使用下列設定建立暫時性 SSH 金鑰組:
- 使用者名稱是由貴機構的 Cloud Identity 或 Google Workspace 管理員設定。如果貴機構尚未為您設定使用者名稱,或您的專案不屬於任何機構,Compute Engine 會使用您的 Google 帳戶電子郵件地址,格式如下:
舉例來說,如果與 Google 帳戶相關聯的電子郵件是USERNAME_DOMAIN_SUFFIX
cloudysanfrancisco@gmail.com
,則產生的使用者名稱為cloudysanfrancisco_gmail_com
。 - 公開 SSH 金鑰會儲存在瀏覽器工作階段和 Google 帳戶中。
- 您的私密 SSH 金鑰會儲存在瀏覽器工作階段中。
- 安全殼層金鑰的效期為三分鐘。Compute Engine 建立金鑰後三分鐘,您就無法再使用 SSH 金鑰連線至 VM。
- 使用者名稱是由貴機構的 Cloud Identity 或 Google Workspace 管理員設定。如果貴機構尚未為您設定使用者名稱,或您的專案不屬於任何機構,Compute Engine 會使用您的 Google 帳戶電子郵件地址,格式如下:
- Compute Engine 會驗證您的 SSH 金鑰,並授予連線權限。
gcloud
- 您可以使用
gcloud compute ssh
指令連線至 VM。 - Compute Engine 會設定使用者名稱,並使用下列設定建立永久 SSH 金鑰組:
- 使用者名稱是由貴機構的 Cloud Identity 或 Google Workspace 管理員設定。如果貴機構尚未為您設定使用者名稱,Compute Engine 會使用您的 Google 帳戶電子郵件地址,格式如下:
舉例來說,如果與 Google 帳戶相關聯的電子郵件地址是USERNAME_DOMAIN_SUFFIX
cloudysanfrancisco@gmail.com
,則產生的使用者名稱為cloudysanfrancisco_gmail_com
。 - 公開 SSH 金鑰會儲存在 Google 帳戶中。
- 您的私密安全殼層金鑰會儲存在本機電腦的
google_compute_engine
檔案中。 - SSH 金鑰沒有效期。除非您設定新金鑰,否則往後建立的所有 SSH 連線都會使用這組金鑰。
- 使用者名稱是由貴機構的 Cloud Identity 或 Google Workspace 管理員設定。如果貴機構尚未為您設定使用者名稱,Compute Engine 會使用您的 Google 帳戶電子郵件地址,格式如下:
- Compute Engine 會驗證您的 SSH 金鑰,並授予連線權限。
第三方工具
- 建立 SSH 金鑰組。詳情請參閱 建立 SSH 金鑰。
- 將公開安全殼層金鑰上傳至 OS Login 設定檔。詳情請參閱「 將金鑰新增至使用 OS 登入功能的 VM」。
- Compute Engine 會將金鑰儲存在 Google 帳戶中。
- Compute Engine 會以預設格式設定使用者名稱:
舉例來說,如果與 Google 帳戶相關聯的電子郵件地址是USERNAME_DOMAIN_SUFFIX
cloudysanfrancisco@gmail.com
,則產生的使用者名稱為cloudysanfrancisco_gmail_com
。 - 您可以選擇使用 Google Workspace Admin SDK Directory API 設定使用者名稱。
- 連線至 VM。
- Compute Engine 會驗證您的 SSH 金鑰,並授予連線權限。
SSH 憑證連線
按一下每個分頁標籤,進一步瞭解 Compute Engine 在您使用 SSH 憑證連線至 VM 時,授予 SSH 連線前執行的設定。視您使用 Google Cloud 控制台、gcloud CLI 或第三方工具連線至 VM 而定,Compute Engine 會執行不同的設定。如果使用第三方工具連線,則必須自行進行部分設定。
主控台
- 您可以使用Google Cloud 控制台中的「SSH」按鈕連線至 VM。
- Compute Engine 會設定使用者名稱,並建立暫時性 SSH 金鑰組。使用者名稱是由貴機構的 Cloud Identity 或 Google Workspace 管理員設定。如果貴機構尚未為您設定使用者名稱,或您的專案不屬於任何機構,Compute Engine 會使用您的 Google 帳戶電子郵件地址,格式如下:
舉例來說,如果與 Google 帳戶相關聯的電子郵件是USERNAME_DOMAIN_SUFFIX
cloudysanfrancisco@gmail.com
,則產生的使用者名稱為cloudysanfrancisco_gmail_com
。 - Compute Engine 會將公開金鑰傳送至 OS 登入憑證授權單位,並執行 IAM 授權,確保您有權連線至 VM。
- OS 登入憑證授權單位會提供短期簽署的 SSH 憑證。
- Compute Engine 會驗證短期憑證,並授予連線權限。
gcloud
- 您可以使用
gcloud beta compute ssh
指令連線至 VM。 - Compute Engine 會設定使用者名稱,並建立暫時性 SSH 金鑰組。使用者名稱是由貴機構的 Cloud Identity 或 Google Workspace 管理員設定。如果貴機構尚未為您設定使用者名稱,或您的專案不屬於任何機構,Compute Engine 會使用您的 Google 帳戶電子郵件地址,格式如下:
舉例來說,如果與 Google 帳戶相關聯的電子郵件是USERNAME_DOMAIN_SUFFIX
cloudysanfrancisco@gmail.com
,則產生的使用者名稱為cloudysanfrancisco_gmail_com
。 - Compute Engine 會將公開金鑰傳送至 OS 登入憑證授權單位,並執行 IAM 授權,確保您有權連線至 VM。
- OS 登入憑證授權單位會提供短期簽署的 SSH 憑證。
- Compute Engine 會驗證短期憑證,並授予連線權限。
第三方工具
- 建立 SSH 金鑰組。詳情請參閱 建立 SSH 金鑰。
- 如果您先前未連線至使用 OS Login 的 VM,請佈建 POSIX 帳戶。
- Compute Engine 會以預設格式設定使用者名稱:
舉例來說,如果與 Google 帳戶相關聯的電子郵件地址是USERNAME_DOMAIN_SUFFIX
cloudysanfrancisco@gmail.com
,則產生的使用者名稱為cloudysanfrancisco_gmail_com
。 - 管理員可以選擇使用 Google Workspace Admin SDK Directory API 設定使用者名稱。如果貴機構使用 員工身分聯盟,請與管理員聯絡,由對方為您變更使用者名稱。
- 您 將公開金鑰傳送給 OS 登入憑證授權單位。
- OS 登入憑證授權單位會提供短期簽署的 SSH 憑證。
- 您可以使用憑證連線至 VM。
- Compute Engine 會驗證短期憑證,並授予連線權限。
後續步驟
- 進一步瞭解使用 OS 登入的好處。
- 設定 OS 登入,管理 VM 的存取權。
- 瞭解如何透過 OS 登入 (搶先版) 服務要求使用 SSH 憑證。
- 如果您不想使用 OS 登入功能,請參閱這篇文章,瞭解如何管理中繼資料中的安全殼層金鑰。
- 瞭解如何連線至 VM。
- 如要瞭解如何診斷及解決 SSH 連線失敗的問題,請參閱「排解 SSH 問題」。