使用遠端桌面協定連線至 Windows VM

本文說明如何使用 RDP 連線至 Windows 虛擬機器 (VM) 執行個體。如要瞭解連線至 Windows VM 的其他方式,請參閱下列指南:

事前準備

  • 請確認 VM 允許透過遠端桌面通訊協定 (RDP) 存取。根據預設,Compute Engine 會建立防火牆規則,允許 TCP 通訊埠 3389 的 RDP 存取權。前往控制台中的防火牆規則頁面 Google Cloud ,尋找允許 tcp:3389 連線的防火牆規則,確認這些規則存在。
  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    選取這個頁面上範例的預計用途分頁:

    控制台

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

    gcloud

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

      gcloud init

      如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。

  • 設定預設區域和可用區。

使用遠端桌面協定連線至 Windows VM

Compute Engine 支援多種連線至 Windows 執行個體的方式。

連線至 Windows 執行個體。

連線至 Windows 執行個體遠端桌面的最佳方式取決於多項因素:

  • 如果您是透過公用網際網路從任何位置連線 (如上圖中「Anywhere」>),建議為專案啟用 Identity-Aware Proxy TCP 轉送。然後搭配使用 IAP Desktop (適用於 Windows) 或 Google Cloud CLI 與 RDP 用戶端。如要瞭解詳情,請參閱「Microsoft 遠端桌面用戶端」一文,瞭解如何連線至 Windows 執行個體。 如果無法使用 Identity-Aware Proxy TCP 轉送,請改用 Chrome 遠端桌面。
  • 如果運算執行個體有公開 IP 位址,且防火牆規則允許 RDP 存取,請使用 RDP 用戶端。如要瞭解詳情,請參閱「Microsoft 遠端桌面用戶端」一文,瞭解如何連線至 Windows 執行個體。
  • 如果運算執行個體沒有公用 IP,且您是使用 Cloud VPN 或 Cloud Interconnect 連線,則可以使用 RDP 用戶端連線至 VM 的私有 IP 位址。詳情請參閱「Microsoft 遠端桌面用戶端」。

如果無法順利透過 RDP 連線,請參閱「排解遠端桌面通訊協定問題」。如果無法使用遠端桌面連線至 Windows 執行個體,請參閱「連線至 Windows VM 的 SAC」。

如要連線至 Windows 執行個體的遠端桌面,請使用下列任一程序。

IAP Desktop

IAP Desktop 是一款 Windows 應用程式,可讓您管理多個連線至 Windows Compute 執行個體的遠端桌面連線。IAP Desktop 會使用 Identity-Aware Proxy TCP 轉送連線至 Compute 執行個體,因此 Compute 執行個體不需要有公開 IP 位址。

使用 IAP Desktop 連線前,請確認符合下列必要條件:

如要使用 IAP Desktop 連線至運算執行個體,請按照下列步驟操作:

  1. 在 IAP Desktop 中,依序選取「設定檔」>「新增專案」。

  2. 輸入專案的 ID 或名稱,然後按一下「確定」。

  3. 在「Project Explorer」視窗中,在要連線的運算執行個體上按一下滑鼠右鍵,然後選取「Connect」。

    IAP Desktop。

如要進一步瞭解 IAP Desktop,請參閱 GitHub 專案頁面。

遠端桌面連線應用程式

您可以使用 Windows 內建的 Microsoft 遠端桌面連線應用程式,連線至 Windows 執行個體。

使用 Microsoft 遠端桌面連線應用程式連線前,請確認符合下列其中一項必要條件:

  • 您的運算執行個體具有公開 IP 位址,且防火牆規則允許來自用戶端公開 IP 位址的 TCP 輸入流量,透過通訊埠 3389 連往執行個體。
  • 您的本機網路已使用 Cloud VPN 或 Cloud Interconnect 連線至 VPC,且防火牆規則允許從用戶端的私有 IP 位址,透過 3389 連接埠將 TCP 輸入流量傳送至執行個體。

如要與 Microsoft Windows 遠端桌面連線,請執行下列步驟:

  1. 如果還沒有 Windows 帳戶和密碼,請建立帳戶和密碼。

  2. 如要透過網際網路連線,請使用外部 IP 位址。 如要使用 Cloud VPN 或 Cloud Interconnect 連線,請使用內部 IP 位址。

    完成下列其中一個步驟,找出 Windows 執行個體的外部和內部 IP 位址:

    • 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

      前往 VM 執行個體頁面

    • 使用 gcloud CLI 執行 gcloud compute instances list:

      gcloud compute instances list
  3. 在 Windows 電腦上開啟 Microsoft Windows 遠端桌面連線。 可執行檔位於 %systemroot%\system32\mstsc.exe

    「遠端桌面連線」對話方塊。

  4. 在「電腦」方塊中輸入 IP 位址。

    如果您已將執行個體設定為針對 RDP 使用不同的通訊埠編號,請在 IP 位址後方新增該編號,例如:1.2.3.4:3389。

  5. 點選「連線」。

  6. 輸入使用者名稱和密碼,然後按一下「確定」。

    如果忘記密碼,可以重設密碼。

Chrome 遠端桌面

Chrome 遠端桌面是一項服務,可讓您透過網路瀏覽器遠端存取其他電腦。Chrome 遠端桌面適用於 Windows、macOS 和 Linux,且不需要運算執行個體具備公開 IP 位址。

使用 Chrome 遠端桌面連線前,請確認符合下列必要條件:

如要使用 Chrome 遠端桌面連線至運算執行個體,請按照下列步驟操作:

  1. 在你的本機上前往 Chrome 遠端桌面網站。

  2. 如果您尚未登入 Google,請使用您用於設定 Chrome 遠端桌面服務的 Google 帳戶登入。

  3. 選取要連線的執行個體。

  4. 系統出現提示時,請輸入安裝 Chrome 遠端桌面服務時建立的 PIN 碼,然後按一下 箭頭按鈕連線。

其他

您可以使用其他 RDP 用戶端連線至 Windows Compute 執行個體,例如為 Android、iOS、Mac 等開發的用戶端。如需正式支援的用戶端清單,請參閱「Microsoft 遠端桌面用戶端」。

連線前,請確認已符合下列任一先決條件:

  • 您的運算執行個體具有公開 IP 位址,且防火牆規則允許來自用戶端公開 IP 位址的 TCP 輸入流量,透過通訊埠 3389 連往執行個體。
  • 您的本機網路會使用 VPN 或 Cloud Interconnect 連線至虛擬私有雲,且防火牆規則允許來自用戶端私有 IP 位址的 TCP 輸入流量,透過 3389 連接埠連至執行個體。

如要使用其他 RDP 用戶端連線,請執行下列操作:

  1. 如要透過網際網路連線,請使用外部 IP 位址。 如要使用 Cloud VPN 或 Cloud Interconnect 連線,請使用內部 IP 位址。

    完成下列其中一個步驟,找出 Windows 執行個體的外部和內部 IP 位址:

    • 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

      前往 VM 執行個體頁面

    • 使用 gcloud CLI 執行 gcloud compute instances list:

      gcloud compute instances list
  2. 依照客戶的安裝說明來安裝支援的用戶端。

  3. 使用執行個體的 IP 位址連線,並以您的使用者名稱與密碼進行執行個體的驗證。

如果無法透過 RDP 連線,請參閱「遠端桌面通訊協定疑難排解」頁面。如要瞭解 RDP 授權,請參閱「Microsoft 授權常見問題」。

驗證 RDP 憑證

查看 VM 初始啟動的序列埠輸出內容,或使用 SAC 中的適當 PowerShell 指令,驗證 RDP 憑證。

序列埠

  1. 在 Windows VM 首次啟動期間,查看序列埠 1 的輸出內容。

  2. 在輸出內容中,尋找下列詳細資料:

    Serial port 1 (console) output for rdp-test
    ...
    ...
    2021/03/31 15:53:58 GCEInstanceSetup: RDP certificate details: Subject: CN=rdp-test, Thumbprint: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ...
    ...
    

從 SAC 執行 PowerShell

  1. 連線至 Windows SAC。

  2. 執行下列 PowerShell 指令:

    # WinRM Cert
    Write-Host 'WinRM certificate details:'; Get-ChildItem 'Cert:\LocalMachine\My' | Where-Object { $_.Subject -like "CN=$env:COMPUTERNAME*" -and $_.NotAfter -gt $(Get-Date) -and $_.HasPrivateKey} |  Select-Object Subject, Thumbprint | Format-List
    # RDP Cert
    Write-Host 'RDP certificate details:'; Get-ChildItem 'Cert:\LocalMachine\Remote Desktop\' | Where-Object { $_.Subject -like "CN=$env:COMPUTERNAME*" -and $_.NotAfter -gt $(Get-Date) -and $_.HasPrivateKey} |  Select-Object Subject, Thumbprint | Format-List
    

後續步驟