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


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

事前準備

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

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

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

      gcloud init

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

    2. Set a default region and zone.

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

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

連線至 Windows 執行個體。

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

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

如果使用 RDP 連線時遇到困難,請參閱「RDP 疑難排解」一文。如果無法使用遠端桌面連線至 Windows 執行個體,請參閱「連線至 Windows VM 的 SAC」。

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

IAP Desktop

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

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

如要使用 IAP Desktop 連線至 VM 執行個體,請執行下列步驟:

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

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

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

    IAP Desktop。

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

遠端桌面連線應用程式

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

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

  • 您的 VM 執行個體擁有公開 IP 位址,且防火牆規則允許 TCP 使用通訊埠 3389 從用戶端的公開 IP 位址導入流量至執行個體。
  • 您的本機網路已透過 Cloud VPNCloud Interconnect 連線至虛擬私有雲端,且您的防火牆規則允許 TCP 使用通訊埠 3389 從用戶端的私人 IP 位址導入流量至執行個體。

如要與 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,且 VM 執行個體不需要有公開 IP 位址。

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

如要使用 Chrome 遠端桌面連線至 VM 執行個體,請執行下列步驟:

  1. 在本機電腦上,前往 Chrome 遠端桌面網站。

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

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

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

其他

您可使用其他 RDP 用戶端 (例如 Android、iOS、Mac 和其他 OS 開發的平台) 連線至 Windows VM 執行個體。如需官方支援的用戶端清單,請參閱「Microsoft 遠端桌面用戶端」。

連線前,請確認符合下列必備條件之一:

  • 您的 VM 執行個體擁有公開 IP 位址,且防火牆規則允許 TCP 使用通訊埠 3389 從用戶端的公開 IP 位址導入流量至執行個體。
  • 您的本機網路已透過 VPNCloud Interconnect 連線至虛擬私有雲端,且您的防火牆規則允許 TCP 使用通訊埠 3389 從用戶端的私人 IP 位址導入流量至執行個體。

如要使用其他 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 指令。

序列埠

  1. 在 Windows VM 初始啟動期間,查看序列埠 1 的輸出內容,驗證 RDP 憑證。

  2. 在 Windows VM 首次啟動期間,檢查序列埠 1 的輸出內容,確認是否出現下列情況:

    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
    

    後續步驟