本文介绍如何使用 Azure Bastion 创建与 Linux 虚拟机的安全 RDP 连接。 可以通过 Azure 门户(基于浏览器)或指定的 IP 地址进行连接。 使用 Azure Bastion 时,虚拟机不需要客户端、代理或其他软件(Linux VM 上的 xrdp 以外的其他软件)。 Azure Bastion 安全地连接到虚拟网络中的所有虚拟机,而无需向公共 Internet 公开 RDP/SSH 端口。 有关详细信息,请参阅什么是 Azure Bastion?
若要使用 SSH 连接到 Linux 虚拟机,请参阅 创建与 Linux VM 的 SSH 连接。 有关使用 Azure CLI 的本机客户端连接(SSH 和隧道),请参阅 使用本机客户端连接到 VM。
下图显示了使用 RDP 连接的专用部署体系结构。
先决条件
在开始之前,请验证是否满足以下条件:
Azure Bastion 主机可以部署在虚拟机所在的虚拟网络中,也可以部署在与之对等互连的虚拟网络中。 若要设置 Bastion 主机,请参阅 创建堡垒主机。 所需的 SKU 取决于连接方法:
连接方法 最小 SKU 其他配置 Azure 门户(浏览器) 标准 没有 具有自定义端口的 Azure 门户 标准 没有 基于 IP 的连接 标准 已启用基于 IP 的连接 需要 xrdp: 若要将 RDP 与 Linux VM 配合使用,必须在 Linux VM 上安装并配置 xrdp 。 若要了解如何这样做,请参阅将 xrdp 与 Linux 配合使用。
默认情况下,Azure Bastion 使用 RDP 端口 3389。 自定义端口需要 标准 SKU 或更高版本。 若要升级,请参阅 升级 SKU。
虚拟网络中的 Linux 虚拟机(或可从虚拟网络访问 基于 IP 的连接)。
所需角色:
- 虚拟机上的读者角色。
- 具有虚拟机专用 IP 的 NIC 上的读取者角色。
- Azure Bastion 资源上的读者角色。
- 目标虚拟机的虚拟网络中的读取者角色(如果 Bastion 部署位于对等虚拟网络中)。
端口: 必须在 VM 上打开以下端口:
- 入站端口:RDP (3389) 或
- 入站端口:自定义值(然后,通过 Azure Bastion 连接到 VM 时需要指定此自定义端口)。
有关其他要求,请参阅 Azure Bastion 常见问题解答 。
身份验证方法
以下身份验证方法可用于通过 Azure Bastion 与 Linux VM 建立 RDP 连接。
| 身份验证方法 | 支持的连接方法 | 最小 SKU |
|---|---|---|
| 用户名和密码 | Azure 门户,IP 地址(门户) | 标准 |
注释
Microsoft Entra ID 和 Kerberos 身份验证不支持用于 Linux 虚拟机的 RDP 连接。
使用 RDP 连接到虚拟机
选择连接方法以查看相应的步骤。
使用 Azure 门户创建与 Linux 虚拟机的基于浏览器的 RDP 连接。 此方法直接通过浏览器进行连接。 你的电脑不需要原生 RDP 客户端或其他额外软件。 需要 标准 SKU 或更高版本。
在 Azure 门户中,转到要连接的虚拟机。 在“概述”页上,选择“连接”,然后从下拉列表中选择 Bastion 以打开 Bastion 页。
在 Bastion 页上,展开“ 连接设置” 部分,然后选择 “RDP”。 如果计划使用一个与标准 RDP 端口(3389)不同的入站端口,请输入该端口号。
输入用户名和密码,然后选择“连接”。 通过 Bastion 连接到此虚拟机的 RDP 连接使用端口 443 和 Bastion 服务直接在浏览器中打开(通过 HTML5)。
注释
有关故障排除提示,请参阅 故障排除。
局限性
- xrdp 要求: RDP 到 Linux VM 要求在目标 VM 上安装和配置 xrdp。 如果没有 xrdp,则无法建立 RDP 连接。
- 认证: 与 Linux VM 的 RDP 连接仅支持用户名和密码身份验证。 不支持Microsoft Entra ID 和 Kerberos 身份验证。
-
本机客户端: Linux VM 不支持此命令
az network bastion rdp。 若要使用本机客户端连接到 Linux VM,请使用az network bastion ssh或az network bastion tunnel。 有关详细信息,请参阅 使用 Bastion 和 Windows 本机客户端连接到 VM ,或使用 Bastion 和 Linux 本机客户端连接到 VM。 - 基于 IP 的连接: 基于 IP 的连接不适用于通过 VPN 强制隧道,或者通过 ExpressRoute 线路播发默认路由时。 Azure Bastion 需要访问 Internet,并且强制隧道转发或默认路由发布会导致流量被黑洞化。
- 基于 IP 的连接: Bastion 子网不支持 UDR,包括基于 IP 的连接。
后续步骤
- 使用 SSH 连接到 Linux VM
- 什么是 Azure Bastion?
- 使用 Bastion 和 Windows 本机客户端连接到 VM
- 使用 Bastion 和 Linux 本机客户端连接到 VM
- 使用本机客户端将文件传输到虚拟机。
- 为没有 Azure 门户访问权限的用户配置可共享链接。
- Azure Bastion 常见问题解答