本文介绍如何使用 Azure Bastion 创建与Windows虚拟机的安全 RDP 连接。 可以通过Azure门户(基于浏览器)、指定 IP 地址或使用本地Windows计算机上的本机客户端进行连接。 使用Azure Bastion时,虚拟机不需要客户端、代理或其他软件。 Azure Bastion安全地连接到虚拟网络中的所有虚拟机,而无需向公共 Internet 公开 RDP/SSH 端口。 有关详细信息,请参阅 什么是 Azure Bastion?
有关使用 Azure CLI(包括 SSH 和隧道)进行本地客户端连接的信息,请参阅使用本机客户端连接到 VM。 若要使用 SSH 连接到Windows虚拟机,请参阅 创建与 Windows VM 的 SSH 连接。
下图显示了使用 RDP 连接的专用部署体系结构。
先决条件
在开始之前,请验证是否满足以下条件:
部署在虚拟机所在的虚拟网络中的 Azure Bastion 主机,或部署在对等虚拟网络中。 若要设置 Bastion 主机,请参阅 创建堡垒主机。 所需的 SKU 取决于连接方法:
| 连接方法 |
最小 SKU |
其他配置 |
| Azure门户(浏览器) |
基本 |
没有 |
| 使用自定义端口Azure门户 |
标准 |
没有 |
| 基于 IP 的连接 |
标准 |
已启用基于 IP 的连接 |
| 本机客户端 (RDP) |
标准 |
已启用本机客户端支持 |
通过 RDP 进行连接的用户必须在目标虚拟机上拥有权限。 如果用户不是本地管理员,请将它们添加到 Remote Desktop Users 组。
默认情况下,Azure Bastion使用 RDP 端口 3389。 自定义端口需要 标准 SKU 或更高版本。 若要升级,请参阅 升级 SKU。
虚拟网络中的Windows虚拟机(或可从虚拟网络访问基于IP 的连接)。
所需角色:
- 虚拟机上的读者角色。
- 具有虚拟机 IP 的 NIC 上的读取者角色。
- Azure Bastion 资源的读取者角色。
- 目标虚拟机的虚拟网络上的读取者角色(如果 Bastion 部署位于对等虚拟网络中)。
- 虚拟机管理员登录或虚拟机用户登录角色(仅适用于 Microsoft Entra ID 身份验证)。
有关其他要求,请参阅 Azure Bastion FAQ。
身份验证方法
以下身份验证方法可用于通过 Azure Bastion 进行 RDP 连接。 选择身份验证方法以查看相应的步骤。
| 身份验证方法 |
支持的连接方法 |
最小 SKU |
|
Microsoft Entra ID(预览版)(RDP 预览版) |
Azure门户,原生客户端 |
基本(门户)、标准版(本机客户端) |
| 用户名和密码 |
Azure门户、IP 地址(门户)、本机客户端 |
基本(门户)、标准(IP 地址、本机客户端) |
|
Kerberos |
Azure 门户 |
基本 |
使用 RDP 连接到虚拟机
选择连接方法以查看相应的步骤。 导航到 Bastion 连接页后,选择 身份验证方法。
使用Azure门户创建与Windows虚拟机的基于浏览器的 RDP 连接。 此方法直接通过浏览器进行连接。 你的电脑不需要原生 RDP 客户端或其他额外软件。
需要基础 SKU 或更高版本,如果您需要自定义端口,则需要标准 SKU。
在 Azure 门户中,选择虚拟机。 在左窗格中选择 “连接”,然后选择 “Bastion”。
在“ 连接设置 ”选项卡中,选择 RDP 作为协议,如果将其从默认值 3389 更改,请输入端口号。
选择您的身份验证方法。 建议使用 Microsoft Entra ID (预览版)。 有关其他选项,请参阅 身份验证方法。
选择 “连接 ”以在新浏览器选项卡中打开与虚拟机的 RDP 连接。
使用Azure门户使用指定的 IP 地址创建与Windows虚拟机的基于浏览器的 RDP 连接。 此方法通过浏览器进行连接,不需要本地计算机上的本机 RDP 客户端或其他软件。 标准 SKU 或更高版本是必需的,必须启用 基于 IP 的连接。
启用基于 IP 的连接
在使用 IP 地址进行连接之前,必须在 Bastion 部署上启用基于 IP 的连接。
在 Azure 门户中,转到 Bastion 部署。
在 “配置 ”页上,对于 “层”,验证 SKU 是否设置为 标准 SKU 或更高版本。 如果 SKU 设置为基本 SKU,请从下拉列表中选择更高的 SKU。
选择 基于 IP 的连接。
选择“应用”,以应用更改。 Bastion 配置需要几分钟才能完成。
直接在 Bastion Connect 页上指定目标虚拟机的 IP 地址,而不是从 Azure 门户中选择虚拟机。
使用 IP 地址进行连接
若要使用指定的 IP 地址连接到虚拟机,请从 Bastion 建立连接,而不是直接从虚拟机页进行连接。 在 Bastion 资源上,选择 “连接” 以打开“连接”页。
在 Bastion Connect 页上,对于 IP 地址,请输入目标虚拟机的 IP 地址。
使用 Azure Bastion 的连接页面的截图。
将连接设置调整为所需的 协议 (RDP)和 端口。
在用户名和密码中输入凭据。
选择 “连接 ”以连接到虚拟机。
有关通过 IP 地址建立的本机客户端 RDP 连接,请参阅此页面上的 “本机客户端 ”选项卡。
使用 Azure CLI(az network bastion rdp)从本地Windows计算机连接到Windows虚拟机。 此方法需要标准 SKU或更高版本,并配置本机客户端支持。
当用户通过 RDP 连接到 Windows VM 时,他们必须拥有目标 VM 上的权限。 如果用户不是本地管理员,请将用户添加到目标 VM 上的Remote Desktop用户组。
使用 az login 登录到Azure帐户。 如果有多个订阅,可以使用 az account list 查看,并使用 az account set --subscription "<subscription ID>" 选择包含 Bastion 资源的订阅。
若要通过 RDP 进行连接,请使用以下示例。
az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>"
运行命令后,系统会提示你输入凭据。 可以使用本地用户名和密码,也可以使用Microsoft Entra凭据。 登录到目标 VM 后,您计算机上的本机客户端会通过 MSTSC 开始您的 VM 会话。
重要
仅允许从 Microsoft Entra 注册(始于 Windows 10 20H1)、Microsoft Entra 加入或 Microsoft Entra 混合加入的 Windows 10 或更高版本的 PC,连接到相同目录中加入 Microsoft Entra ID 的 VM。
指定身份验证方法
(可选)还可以将身份验证方法指定为命令的一部分。
-
Microsoft Entra authentication: 对于 Windows 10 版本 20H2+、Windows 11 21H2+ 和 Windows Server 2022,请使用
--enable-mfa。 有关详细信息,请参阅 az network bastion rdp - 可选参数。
指定自定义端口
通过 RDP 连接到Windows VM 时,可以指定自定义端口。
其中一种情况特别有用,即通过端口 22 连接到Windows VM。 这是 az network bastion ssh 命令限制的潜在解决方法,Windows本机客户端无法使用该命令连接到Windows VM。
若要指定自定义端口,请在登录命令中包含字段 --resource-port,如以下示例所示。
az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>" --resource-port "22"
使用 RDP 连接到 Windows 虚拟机的 IP 地址
还可以连接到 VM 专用 IP 地址,而不是资源 ID。 Microsoft Entra身份验证,在使用此类连接时不支持自定义端口和协议。 有关基于 IP 的连接的详细信息,请参阅连接到 VM - IP 地址。
使用 az network bastion 命令将 --target-resource-id 替换为 --target-ip-address 并指定用于连接到 VM 的 IP 地址。
az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>"
有关 SSH 和隧道连接,请参阅使用 Bastion 和 Windows 本机客户端连接到 VM。
局限性
基于 IP 的连接: 基于 IP 的连接不适用于通过 VPN 强制隧道,或者通过 ExpressRoute 线路播发默认路由时。 Azure Bastion需要访问 Internet,而强制隧道或默认路由播发结果会导致流量黑洞。
基于 IP 的连接: Bastion 子网不支持 UDR,包括基于 IP 的连接。
基于 IP 的连接: 通过基于 IP 的连接的本机客户端连接到虚拟机时,目前不支持自定义端口和协议。
基于 IP 的 RDP 连接不支持 Microsoft Entra ID: Microsoft Entra 身份验证。 通过本机客户端建立基于 IP 的 SSH 连接支持Entra ID身份验证。 有关Entra ID身份验证详细信息,请参阅 About Microsoft Entra ID 身份验证。
会话录制: RDP + Entra ID 身份验证不能与 图形化会话录制一起使用。
后续步骤