使用 SSH 連線至 Windows VM

本文說明如何使用 SSH 連線至 Windows 虛擬機器 (VM) 執行個體。如要瞭解連線至 Windows VM 的其他方式,請參閱「使用 RDP 連線至 Windows VM」和「使用 PowerShell 連線至 Windows VM」。如要瞭解 Compute Engine 中的 SSH 運作方式,請參閱「關於 SSH 連線」一文。

事前準備

  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    選取這個頁面上的分頁,瞭解如何使用範例:

    控制台

    使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,無須設定驗證。

    gcloud

    1. 安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:

      gcloud init

      若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

  • 設定預設地區和區域

支援的圖片

如果Windows Server 映像檔執行的是客體代理程式 (GCEGuestAgent) 20220527.00 以上版本和 OpenSSH 8.6 以上版本,則支援 Windows 的 SSH。

為 Windows VM 啟用 SSH

如要啟用 Windows VM 的 SSH 連線,請安裝 google-compute-engine-ssh 套件,並在專案或執行個體中繼資料中,將 enable-windows-ssh 鍵設為 TRUE。在專案中繼資料中為 Windows 啟用 SSH,即可為專案中的所有 Windows VM 啟用 SSH。在執行個體中繼資料中啟用 Windows 的 SSH,可為單一 VM 啟用 SSH,並覆寫專案中繼資料中設定的值。

在建立 VM 時啟用 Windows 的 SSH

使用 Google Cloud 控制台或 Google Cloud CLI 建立 VM 時,啟用 Windows 的 SSH。

控制台

從公開映像檔建立 VM,安裝 google-compute-engine-ssh 套件並在啟動時啟用 SSH:

  1. 指定下列「開機磁碟」屬性:

    • 作業系統:Windows Server
    • 版本:任何版本
  2. 在「Advanced options」(進階選項) 部分,展開「Management」(管理) 部分。

  3. 在「中繼資料」部分中,按一下「新增項目」。輸入下列中繼資料鍵/值組合,新增安裝 google-compute-engine-ssh 套件的開機指令碼:

    • 鍵:sysprep-specialize-script-cmd
    • 值: googet -noconfirm=true install google-compute-engine-ssh
  4. 在「中繼資料」部分中,按一下「新增項目」。輸入下列中繼資料鍵值組合,將 enable-windows-ssh 設為 TRUE

    • 鍵:enable-windows-ssh
    • 值: TRUE
  5. 按一下「建立」即可建立並啟動 VM。

gcloud

執行下列gcloud compute instances create指令,建立 Windows Server VM,在啟動時安裝 google-compute-engine-ssh 套件並啟用 SSH:

gcloud compute instances create VM_NAME \
    --image-family=IMAGE_FAMILY \
    --image-project=windows-cloud \
    --metadata sysprep-specialize-script-cmd="googet -noconfirm=true install google-compute-engine-ssh",enable-windows-ssh=TRUE

更改下列內容:

  • VM_NAME:新 VM 的名稱。
  • IMAGE_FAMILYWindows Server 映像檔系列。這會使用最新的非已淘汰 Windows Server 映像檔建立 VM。

在執行中的 VM 上為 Windows 啟用 SSH

如要在執行中的 Windows VM 上啟用 SSH,請視您是否能使用 RDP 存取 VM,或工作負載是否能容許重新啟動,採取下列其中一種做法:

  • 需要 RDP 存取權:使用 RDP 連線至 VM,然後安裝 SSH 套件
  • 必須重新啟動:使用開機指令碼安裝 SSH 套件

RDP

如果可以透過 RDP 存取 VM,請按照下列步驟啟用 SSH:

  1. 使用 RDP 連線至 VM

  2. 開啟系統管理員命令提示字元工作階段,方法如下:

    1. 開啟「開始」功能表。

    2. 前往「命令提示字元」

    3. 在「命令提示字元」上按一下滑鼠右鍵,然後選取「以系統管理員身分執行」

      如果系統提示您允許命令提示字元變更裝置,請選取「是」

  3. 執行下列指令,下載並安裝 google-compute-engine-ssh 套件:

    googet -noconfirm=true install google-compute-engine-windows && googet -noconfirm=true install google-compute-engine-ssh
    
  4. 關閉 RDP 工作階段。

  5. enable-windows-ssh 鍵設為 TRUE,即可在中繼資料中啟用 Windows SSH。如要進一步瞭解如何設定中繼資料,請參閱設定自訂中繼資料

開機指令碼

如果無法使用 RDP 存取 VM,請按照下列步驟啟用 SSH:

  1. 停止 VM

  2. 在 VM 上設定下列中繼資料鍵值組合,即可啟用 SSH。如要進一步瞭解如何設定中繼資料,請參閱設定自訂中繼資料

    • SSH 套件安裝中繼資料:

      • 金鑰windows-startup-script-cmd
      • 價值googet -noconfirm=true update && googet -noconfirm=true install google-compute-engine-ssh
    • 啟用 SSH 的中繼資料:

      • 金鑰enable-windows-ssh
      • 價值TRUE
  3. 啟動 VM。 VM 可能需要幾分鐘才能重新啟動。

使用 SSH 連線至 VM

使用 gcloud compute ssh 指令連線至 VM:

gcloud compute ssh VM_NAME

VM_NAME 替換為要連線的 Windows VM 名稱。

連線至使用 AD 的 VM

如果要連線的 VM 使用 Active Directory (AD),請使用下列指令連線:

gcloud compute ssh DOMAIN\USERNAME@VM_NAME

更改下列內容:

  • DOMAIN:您的 AD 網域。舉例來說,ad.example.com AD 的網域為 example
  • USERNAME:您的 AD 使用者名稱。例如:cloudysanfrancisco
  • VM_NAME:要連線的 Windows VM 名稱。

後續步驟