Azure Bastion 疑难解答

本文可帮助你诊断和解决 Azure Bastion 的常见问题。

在联系支持人员之前,请查看这些常见问题和解决方案。 随着新解决方案的推出,我们将定期更新此信息。

部署和配置问题

本部分介绍常见的部署和配置问题及其解决方法。

問题 说明 决议
添加子网失败 尝试在门户中使用“部署 Bastion”时,会出现“无法添加子网”错误。 目前,对于大多数地址空间,您必须先将名为AzureBastionSubnet的子网添加到虚拟网络,然后选择部署 Bastion
部署失败 Azure Bastion 部署失败,并出现错误。 查看任何错误消息并根据需要在 Azure 门户中提出支持请求Azure 订阅限制、配额和约束可能会导致部署失败。 具体来说,客户可能会遇到对每个订阅允许的公共 IP 地址数的限制,这会导致 Azure Bastion 部署失败。
将虚拟网络移到另一个资源组 您想将您的虚拟网络移动到其他资源组。 不支持在使用 Bastion 时移动虚拟网络。 必须先从虚拟网络中删除 Bastion,然后将虚拟网络移动到新的资源组。 虚拟网络进入新资源组后,可以将 Bastion 部署到虚拟网络。
强制隧道互联网流量 通过 ExpressRoute 或 VPN 公布默认路由(0.0.0.0/0)。 如果通过 ExpressRoute 或 VPN 播发默认路由,则不支持使用 Azure Bastion 进行强制隧道。 Azure Bastion 需要与某些内部终结点通信。 确保主机虚拟网络未链接到具有以下确切名称的专用 DNS 区域:management.chinacloudapi.cn、blob.core.windows.NET、core.windows.NET、vaultcore.windows.NET、vault.azure.NET 或 azure.com。 可以使用以这些名称结尾的专用 DNS 区域(例如:privatelink.blob.core.windows.NET)。 国家云中的 Azure 专用 DNS 区域不支持 Azure Bastion。

SKU 升级问题

本部分介绍升级 Azure Bastion SKU 及其解决方法时的常见问题。 有关升级说明,请参阅 “查看或升级 Azure Bastion SKU”。

問题 说明 决议
升级无法启动 尝试升级 Bastion SKU 时,操作会立即失败。 请验证您是否在包含 Bastion 主机的资源组上拥有“参与者”或“所有者”角色。
升级失败并出现子网错误 从开发者 SKU 升级失败,并出现与子网相关的错误。 在升级之前,使用 /26 或更大的前缀创建名为 AzureBastionSubnet 的子网。 开发人员 SKU 使用共享基础结构,而基本、标准和高级版需要专用子网。
升级超时 升级操作所需的时间超过预期或导致超时。 升级过程通常需要大约 10 分钟。 等待几分钟,并在门户中检查 Bastion 主机状态。 如果状态显示更新,请等待完成。 如果状态显示失败,请再次尝试升级。
升级后不可用的功能 升级后,预期功能不可用。 升级后必须显式启用功能。 转到 Bastion 主机,选择 “配置”,并启用可用于新 SKU 层的所需功能。

网络安全组 (NSG) 配置问题

本部分介绍常见的 NSG 配置问题及其解决方法。

問题 说明 决议
无法在 AzureBastionSubnet 上创建网络安全组 (NSG) 尝试在 Azure Bastion 子网上创建 NSG 时,会收到以下错误:“网络安全组 <NSG 名称>没有 Azure Bastion 子网 AzureBastionSubnet 的必要规则”。 如果创建 NSG 并将其应用到 AzureBastionSubnet,请确保将所需的规则添加到 NSG。 有关所需规则的列表,请参阅使用 NSG 访问和 Azure Bastion。 如果未添加这些规则,则 NSG 创建或更新将失败。

有关 NSG 规则的示例,请参阅 快速入门模板。 有关详细信息,请参阅 Azure Bastion 的 NSG 指南

身份验证问题

本部分介绍常见的身份验证问题及其解决方法。

問题 说明 决议
无法将 SSH 密钥与 Azure Bastion 配合使用 尝试浏览 SSH 密钥文件时,会出现以下错误:“SSH 私钥必须以 -----BEGIN RSA/DSA/OPENSSH 私钥开头-----以-----END RSA/DSA/OPENSSH 私钥结尾-----”。 Azure Bastion 目前支持 RSA、DSA 和 OPENSSH 私钥。 请确保你浏览的密钥文件是适用于 SSH 的 RSA、DSA 或 OPENSSH 私钥,且目标 VM 上预配了公钥。

例如,你可使用以下命令来创建新的 RSA SSH 密钥:

ssh-keygen -t rsa -b 4096 -C "email@domain.com"

有关示例输出,请参阅 SSH 密钥生成示例
无法登录到已加入 Windows 域的虚拟机 您无法连接到加入域的 Windows 虚拟机。 Azure Bastion 仅支持基于以用户名和密码为基础的域登录的已加入域的虚拟机登录。 在 Azure 门户中指定域凭据时,请使用 UPN (username@domain) 格式进行登录,而不是使用 domain\username 格式。 这可用于已加入域或已加入混合域(已加入域且已加入 Microsoft Entra)的虚拟机。 不支持仅加入 Microsoft Entra 的虚拟机。

SSH 密钥生成示例

以下示例演示创建新的 RSA SSH 密钥时的输出:

ashishj@dreamcatcher:~$ ssh-keygen -t rsa -b 4096 -C "email@domain.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ashishj/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ashishj/.ssh/id_rsa.
Your public key has been saved in /home/ashishj/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:c+SBciKXnwceaNQ8Ms8C4h46BsNosYx+9d+AUxdazuE email@domain.com
The key's randomart image is:
+---[RSA 4096]----+
|      .o         |
| .. ..oo+. +     |
|=.o...B==.O o    |
|==o  =.*oO E     |
|++ .. ..S =      |
|oo..   + =       |
|...     o o      |
|         . .     |
|                 |
+----[SHA256]-----+

连接问题

本部分介绍常见的连接问题及其解决方法。

問题 说明 决议
无法连接到虚拟机 无法连接到虚拟机(并且未遇到本文中列出的其他问题)。 可以通过导航到 Azure 门户中 Azure Bastion 资源的“帮助”选项卡(“帮助”部分)来排查连接问题。 “网络观察程序连接故障排除”提供了检查虚拟机 (VM) 之间的直接 TCP 连接、完全限定域名 (FQDN)、URI 或 IPv4 地址的功能。 要开始,请选择要从中启动连接的源和要连接的目标,然后选择“检查”。 有关详细信息,请参阅连接故障排除

如果已启用实时 (JIT),则可能需要添加其他角色分配以连接到 Bastion。 将 JIT 权限表中列出的权限 添加到用户,然后尝试重新连接到 Bastion。
文件传输不起作用 文件传输在 Azure Bastion 上未按预期工作。 Azure Bastion 支持使用 Bastion 和本机 RDP 或 SSH 客户端在目标 VM 和本地计算机之间传输文件。 目前,无法使用 PowerShell 或通过 Azure 门户来上传或下载应用程序。 有关详细信息,请参阅使用本机客户端上传和下载文件
Azure 门户中出现黑屏 尝试使用 Azure Bastion 进行连接时,无法连接到目标 VM,并在 Azure 门户中显示黑屏。 当 Web 浏览器和 Azure Bastion 之间出现网络连接问题(客户端 Internet 防火墙可能阻止 WebSocket 流量或类似)或 Azure Bastion 与目标 VM 之间出现网络连接问题时,就会发生这种情况。 大多数情况下,包括将 NSG 应用于 AzureBastionSubnet,或者将其应用于您目标 VM 子网上,这导致阻止了虚拟网络中的 RDP/SSH 流量。 请允许客户端 Internet 防火墙上的 WebSockets 流量,并检查目标 VM 子网上的 NSG。 请参阅下表中的 “无法连接到虚拟机 ”行,了解如何使用 连接故障排除 来排查连接问题。
会话已过期错误 在 Bastion 会话启动之前,会收到“会话已过期”错误消息。 如果直接从另一个浏览器会话或选项卡转到 URL,则会出现此错误。 它有助于确保会话更安全,并且该会话只能通过 Azure 门户来访问。 登录到 Azure 门户,并重新开始会话。

JIT 权限

下表列出了即时访问 (JIT) 所需的权限:

设置 说明
Microsoft.Security/locations/jitNetworkAccessPolicies/read 获取实时网络访问策略
Microsoft.Security/locations/jitNetworkAccessPolicies/write 创建新的或更新现有的实时网络访问策略

本部分介绍常见的可共享链接问题及其解决方法。

問题 说明 决议
不支持自定义域 Bastion 可共享链接不支持自定义域。 Bastion 可共享链接不支持自定义域。 尝试在 Bastion 主机证书的 CN/SAN 中添加特定域时,用户会收到证书错误。 这是当前的一项限制。
重置密码不适用于可共享链接用户 此时会显示“重置密码”按钮,但不适用于通过可共享链接进行连接的本地用户。 某些组织具有公司策略,当用户首次登录到本地帐户时需要密码重置。 使用可共享链接时,即使可能会出现“重置密码”按钮,也无法更改密码。 这是一个已知限制。

虚拟网络对等连接问题

本部分介绍常见的虚拟网络对等互连问题及其解决方法。

問题 说明 决议
在对等互连的虚拟网络中看不到 VM 你有权访问对等互连的虚拟网络,但看不到其中部署的 VM。 请确保对 VM 和对等互连虚拟网络具有 读取 访问权限。 此外,请在 IAM 下检查你是否具有对以下资源的 读取 访问权限:

• 虚拟机上的读取者角色
• 具有虚拟机专用 IP 的 NIC 上的读取者角色
• Azure Bastion 资源的读取者角色
• 虚拟网络上的读取者角色(如果没有对等互连虚拟网络,则不需要)

有关所需权限的完整列表,请参阅 虚拟网络对等互连权限表

虚拟网络对等互连权限

下表列出了访问对等互连虚拟网络中的 VM 所需的权限:

Permissions 说明 权限类型
Microsoft.Network/bastionHosts/read 获取 Bastion 主机 Action
Microsoft.Network/virtualNetworks/BastionHosts/action 获取虚拟网络中的 Bastion 主机引用。 Action
Microsoft.Network/virtualNetworks/bastionHosts/default/action 获取虚拟网络中的 Bastion 主机引用。 Action
Microsoft.Network/networkInterfaces/read 获取网络接口定义。 Action
Microsoft.Network/networkInterfaces/ipconfigurations/read 获取网络接口 IP 配置定义。 Action
Microsoft.Network/virtualNetworks/read 获取虚拟网络定义 Action
Microsoft.Network/virtualNetworks/subnets/virtualMachines/read 获取对虚拟网络子网中的所有虚拟机的引用 Action
Microsoft.Network/virtualNetworks/virtualMachines/read 获取对虚拟网络中的所有虚拟机的引用 Action

后续步骤