本文档介绍了如何使用 RDP 连接到 Windows 虚拟机 (VM) 实例。如需了解连接到 Windows 虚拟机的其他方法,请参阅以下指南:
准备工作
- 确保虚拟机允许通过远程桌面协议 (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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- 如果您要通过公共互联网从任何位置(上图中的“连接来源”> 任何位置)进行连接,则最好为项目启用 Identity-Aware Proxy TCP 转发然后,将 IAP 桌面(在 Windows 上)或 Google Cloud CLI 与 RDP 客户端搭配使用。如需了解详情,请参阅 Microsoft 远程桌面客户端以连接到 Windows 实例。如果您无法使用 Identity-Aware Proxy TCP 转发,请使用 Chrome 远程桌面。
- 如果虚拟机实例具有公共 IP 地址且防火墙规则允许进行 RDP 访问,请使用 RDP 客户端。如需了解详情,请参阅 Microsoft 远程桌面客户端以连接到 Windows 实例。
- 如果虚拟机实例没有公共 IP 地址,并且您要使用 Cloud VPN 或 Cloud Interconnect 进行连接,则可以使用 RDP 客户端连接到虚拟机的专用 IP 地址。如需了解详情,请参阅 Microsoft 远程桌面客户端。
- 您已将 VPC 配置为允许将 IAP 流量传入您的虚拟机实例。
- 您已在本地计算机上下载并安装 IAP 桌面。
在 IAP 桌面中,选择 Profile > Add project。
输入项目的 ID 或名称,然后点击确定。
在 Project Explorer 窗口中,右键点击要连接的虚拟机实例,然后选择连接。
- 您的虚拟机实例具有公共 IP 地址,并且您的防火墙规则允许 TCP 入站流量使用端口 3389 从您客户端的公共 IP 地址流向该实例。
- 您的本地网络已通过 Cloud VPN 或 Cloud Interconnect 连接到您的 VPC,并且您的防火墙规则允许来自客户端专用 IP 地址的 TCP 入站流量使用端口 3389 进入实例。
如果您还没有 Windows 账号,请创建 Windows 账号和密码。
如需通过互联网进行连接,请使用外部 IP 地址。如需使用 Cloud VPN 或 Cloud Interconnect 进行连接,请使用内部 IP 地址。
通过完成以下步骤之一确定 Windows 实例的外部和内部 IP 地址:
在 Google Cloud 控制台中,前往虚拟机实例页面。
使用 gcloud CLI 运行
gcloud compute instances list
:gcloud compute instances list
在 Windows 机器上打开 Microsoft Windows 远程桌面连接。您可以通过以下路径和文件名找到该可执行文件:
%systemroot%\system32\mstsc.exe
。在计算机框中,输入 IP 地址。
如果您已对实例进行配置,使其为 RDP 使用其他端口号,请将相应端口号添加到 IP 地址之后,例如:
1.2.3.4:3389
。点击连接。
输入您的用户名和密码,然后点击确定。
如果您忘记了密码,可以重置密码。
- 您已在虚拟机实例上创建 Windows 账号和密码。
- 您已在虚拟机实例上安装 Chrome 远程桌面服务。
在本地计算机上,转到 Chrome 远程桌面网站。
如果您尚未登录 Google,请使用您用于设置 Chrome 远程桌面服务的同一 Google 账号进行登录。
选择要连接的实例。
出现提示时,输入您在安装 Chrome 远程桌面服务时创建的 PIN 码,然后点击
箭头按钮进行连接。- 您的虚拟机实例具有公共 IP 地址,并且您的防火墙规则允许 TCP 入站流量使用端口 3389 从您客户端的公共 IP 地址流向该实例。
- 您的本地网络已通过 VPN 或 Cloud Interconnect 连接到您的 VPC,并且您的防火墙规则允许来自客户端专用 IP 地址的 TCP 入站流量使用端口 3389 进入实例。
如需通过互联网进行连接,请使用外部 IP 地址。如需使用 Cloud VPN 或 Cloud Interconnect 进行连接,请使用内部 IP 地址。
通过完成以下步骤之一确定 Windows 实例的外部和内部 IP 地址:
在 Google Cloud 控制台中,前往虚拟机实例页面。
使用 gcloud CLI 运行
gcloud compute instances list
:gcloud compute instances list
根据客户端的安装说明来安装支持的客户端。
使用您实例的 IP 地址进行连接,并使用您用于该实例的用户名和密码进行身份验证。
通过在 Windows 虚拟机初始启动期间查看来自串行端口 1 的输出来验证 RDP 证书。
在 Windows 虚拟机初始启动期间查看串行端口 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 ... ...
连接到 Windows SAC。
运行以下 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
后续步骤
了解如何将文件传输到 Windows 虚拟机。
了解如何连接到 Linux 虚拟机。
使用 RDP 连接到 Windows 虚拟机
Compute Engine 支持通过多种方式连接到 Windows 实例。
连接到 Windows 实例的远程桌面的最佳方法取决于多种因素:
如果您在使用 RDP 建立连接时遇到问题,请参阅排查 RDP 问题。如果您无法使用远程桌面连接到 Windows 实例,请参阅使用 SAC 连接到 Windows 虚拟机。
如需连接到 Windows 实例的远程桌面,请按照以下过程之一操作。
IAP 桌面
IAP 桌面是一个 Windows 应用,可让您管理 Windows 虚拟机实例的多个远程桌面连接。IAP 桌面使用 Identity-Aware Proxy TCP 转接连接到虚拟机实例,并且不需要虚拟机实例具有公共 IP 地址。
在使用 IAP 桌面进行连接之前,请确保满足以下前提条件:
要使用 IAP 桌面连接到虚拟机实例,请执行以下操作:
如需详细了解 IAP 桌面,请参阅 GitHub 项目页面。
远程桌面连接应用
您可以使用属于 Windows 的 Microsoft 远程桌面连接应用连接到 Windows 实例。
在使用 Microsoft 远程桌面连接应用进行连接之前,请确保满足以下前提条件之一:
如需通过 Microsoft Windows 远程桌面进行连接,请执行以下操作:
Chrome 远程桌面
Chrome 远程桌面服务可让您使用网络浏览器远程访问其他计算机。 Chrome 远程桌面可在 Windows、macOS 和 Linux 上运行,并且不需要虚拟机实例具有公共 IP 地址。
在使用 Chrome 远程桌面进行连接之前,请确保满足以下前提条件:
要使用 Chrome 远程桌面连接到虚拟机实例,请执行以下操作:
其他
您可以使用其他 RDP 客户端(例如为 Android、iOS、Mac 等开发的客户端)连接到 Windows 虚拟机实例。如需查看官方支持的客户端列表,请参阅 Microsoft 远程桌面客户端。
在进行连接之前,请确保满足以下前提条件之一:
如需使用其他 RDP 客户端进行连接,请执行以下操作:
如果您在使用 RDP 建立连接时遇到问题,请参阅 RDP 问题排查页面。 如需了解 RDP 许可,请参阅有关 Microsoft 许可的常见问题解答。
验证 RDP 证书
通过查看来自虚拟机初始启动的串行端口输出或使用 SAC 中的相应 PowerShell 命令来验证 RDP 证书。
串行端口
来自 SAC 的 PowerShell
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-11-22。
-