使用 Azure Bastion 创建与 Linux VM 的 RDP 连接

本文介绍如何使用 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” 架构。

先决条件

在开始之前,请验证是否满足以下条件:

  • Azure Bastion 主机可以部署在虚拟机所在的虚拟网络中,也可以部署在与之对等互连的虚拟网络中。 若要设置 Bastion 主机,请参阅 创建堡垒主机。 你需要标准 SKU或更高层级,才能建立到 Linux 虚拟机的 RDP 连接,包括通过 Azure 门户进行的基于浏览器的连接。 下表展示了每种连接方法的要求:

    连接方法 最小 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 或更高版本。

  1. 在 Azure 门户中,转到要连接的虚拟机。 在“概述”页上,选择“连接”,然后从下拉列表中选择 Bastion 以打开 Bastion 页。

  2. 在 Bastion 页上,展开“ 连接设置” 部分,然后选择 “RDP”。 如果计划使用一个与标准 RDP 端口(3389)不同的入站端口,请输入该端口号。

  3. 输入用户名和密码,然后选择“连接”。 通过 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 的连接。

后续步骤