排查与 Azure 虚拟机的远程桌面连接问题

注意

本文是否有帮助? 你的输入对我们很重要。 请使用此页面上的 “反馈 ”按钮,让我们了解本文对你的影响,或者我们如何改进它。

远程桌面协议 (RDP) 连接到基于 Windows 的 Azure 虚拟机 (VM) 可能会因各种原因而失败,导致无法访问 VM。 问题可能出在 VM 上的远程桌面服务、网络连接或主机计算机上的远程桌面客户端上。 本文指导你完成解决 RDP 连接问题的一些最常见方法。

如果在本文的任何时候需要更多帮助,可以在 MSDN Azure 和 Stack Overflow 论坛上联系 Azure 专家。 或者,可以提交Azure 支持事件。 转到Azure 支持站点,然后选择“获取支持

快速故障排除步骤

完成每个故障排除步骤后,请尝试重新连接到 VM:

  1. 重置远程桌面配置。
  2. 检查网络安全组规则/云服务终结点。
  3. 查看 VM 控制台日志。
  4. 重置 VM 的 NIC。
  5. 检查 VM 资源运行状况。
  6. 重置 VM 密码。
  7. 重启 VM。
  8. 重新部署 VM。

如果需要更详细的步骤和说明,请继续阅读。 验证本地网络设备(如路由器和防火墙)是否未阻止出站 TCP 端口 3389,如 详细的 RDP 故障排除方案中所述。

提示

如果门户中 VM 的“ 连接 ”按钮灰显,并且未通过 快速路由站点到站点 VPN 连接连接到 Azure,则需要先创建并分配 VM 公共 IP 地址,然后才能使用 RDP。 可以详细了解 Azure 中的公共 IP 地址

排查 RDP 问题的方法

可以使用以下方法之一对使用 资源管理器 部署模型创建的 VM 进行故障排除:

  • Azure 门户 - 如果需要快速重置 RDP 配置或用户凭据,但未安装 Azure 工具,则非常出色。
  • Azure PowerShell - 如果熟悉 PowerShell 提示符,请使用 Azure PowerShell cmdlet 快速重置 RDP 配置或用户凭据。

还可以找到有关使用 经典部署模型对创建的 VM 进行故障排除的步骤。

使用Azure 门户进行故障排除

每个故障排除步骤后,再次尝试连接到 VM。 如果仍无法连接,请尝试下一步。

  1. 重置 RDP 连接。 例如,当禁用远程Connections或 Windows 防火墙规则阻止 RDP 时,此故障排除步骤会重置 RDP 配置。

    在Azure 门户中选择 VM。 将设置窗格向下滚动到列表底部附近的 “帮助 ”部分。 单击“ 重置密码 ”按钮。 将 “模式 ”设置为 “仅重置配置 ”,然后单击“ 更新 ”按钮:

    “重置密码”选项卡的“模式”设置窗口的屏幕截图,其中选择了“仅重置配置”选项。

  2. 验证网络安全组规则。 使用 IP 流验证 确认网络安全组中的规则是否阻止了传入或传出虚拟机的流量。 还可以查看有效的安全组规则,以确保存在入站“允许”NSG 规则,并优先处理 RDP 端口 (默认 3389) 。 有关详细信息,请参阅 使用有效安全规则对 VM 流量流进行故障排除

  3. 查看 VM 启动诊断。 此故障排除步骤检查 VM 控制台日志,以确定 VM 是否报告了问题。 并非所有 VM 都启用了启动诊断,因此此故障排除步骤可能是可选的。

    具体的故障排除步骤超出了本文的范围,但可能表明影响 RDP 连接的更广泛问题。 有关查看控制台日志和 VM 屏幕截图的详细信息,请参阅 VM 的启动诊断

  4. 重置 VM 的 NIC。 有关详细信息,请参阅 如何重置 Azure Windows VM 的 NIC

  5. 检查 VM 资源运行状况。 此故障排除步骤验证 Azure 平台是否存在可能影响到 VM 连接的已知问题。

    在Azure 门户中选择 VM。 将设置窗格向下滚动到列表底部附近的 “帮助 ”部分。 单击“ 资源运行状况 ”按钮。 正常的 VM 报告为 可用

    正常 V M 报表的屏幕截图,其中显示没有任何已知的 Azure 平台问题会影响此虚拟机。

  6. 重置用户凭据。 当你不确定或忘记凭据时,此故障排除步骤将重置本地管理员帐户上的密码。 登录到 VM 后,应重置该用户的密码。

    在Azure 门户中选择 VM。 将设置窗格向下滚动到列表底部附近的 “帮助 ”部分。 单击“ 重置密码 ”按钮。 确保“ 模式 ”设置为 “重置密码 ”,然后输入用户名和新密码。 最后,单击“ 更新 ”按钮:

    当“模式”设置为“重置密码”时,“重置密码”设置窗口的屏幕截图。

  7. 重启 VM。 此故障排除步骤可以更正 VM 本身存在的任何基本问题。 在Azure 门户中选择 VM,然后单击“概述”选项卡。单击“重启”按钮。

  8. 重新部署 VM。 此故障排除步骤会将 VM 重新部署到 Azure 中的另一台主机,以更正任何基础平台或网络问题。

    在Azure 门户中选择 VM。 将设置窗格向下滚动到列表底部附近的 “帮助 ”部分。 单击“ 重新部署 ”按钮,然后单击“ 重新部署”:

    “重新部署”选项卡的设置窗口中“重新部署”按钮的屏幕截图。

    此操作完成后,会丢失临时磁盘数据,并且更新与 VM 关联的动态 IP 地址。

  9. 验证路由。 使用 网络观察程序 的“下一跃点”功能确认路由不会阻止流量路由到虚拟机或从虚拟机路由流量。 还可以查看有效路由,查看网络接口的所有有效路由。 有关详细信息,请参阅 使用有效路由排查 VM 流量流问题。

  10. 确保任何本地防火墙或计算机上的防火墙都允许发到 Azure 的出站 TCP 3389 流量。

如果仍然遇到 RDP 问题,可以 打开支持请求 或阅读 更详细的 RDP 故障排除概念和步骤

使用 Azure PowerShell 进行故障排除

如果尚未安装,请安装并配置最新的Azure PowerShell

以下示例使用 、 和 myVMAccessExtensionmyResourceGroupmyVM变量。 将这些变量名称和位置替换为自己的值。

注意

使用 Set-AzVMAccessExtension PowerShell cmdlet 重置用户凭据和 RDP 配置。 在以下示例中, myVMAccessExtension 是指定为过程的一部分的名称。 如果以前使用过 VMAccessAgent,则可以通过使用 Get-AzVM -ResourceGroupName "myResourceGroup" -Name "myVM" 来获取现有扩展的名称,检查 VM 的属性。 若要查看名称,请在输出的“扩展”部分下查看。

每个故障排除步骤后,再次尝试连接到 VM。 如果仍无法连接,请尝试下一步。

  1. 重置 RDP 连接。 例如,当禁用远程Connections或 Windows 防火墙规则阻止 RDP 时,此故障排除步骤会重置 RDP 配置。

    以下示例重置位置中和资源组中WestUSmyResourceGroup名为 myVM 的 VM 上的 RDP 连接:

    Set-AzVMAccessExtension -ResourceGroupName "myResourceGroup" `
        -VMName "myVM" -Location Westus -Name "myVMAccessExtension"
    
  2. 验证网络安全组规则。 此故障排除步骤验证网络安全组中是否具有允许 RDP 流量的规则。 RDP 的默认端口是 TCP 端口 3389。 创建 VM 时,可能不会自动创建允许 RDP 流量的规则。

    首先,将网络安全组的所有配置数据分配给 $rules 变量。 以下示例获取名为 的资源组中名为 myNetworkSecurityGroupmyResourceGroup的网络安全组的相关信息:

    $rules = Get-AzNetworkSecurityGroup -ResourceGroupName "myResourceGroup" `
        -Name "myNetworkSecurityGroup"
    

    现在,查看为此网络安全组配置的规则。 验证是否存在允许入站连接的 TCP 端口 3389 的规则,如下所示:

    $rules.SecurityRules
    

    以下示例演示允许 RDP 流量的有效安全规则。 可以看到 ProtocolDestinationPortRangeAccessDirection 配置正确:

    Name                     : default-allow-rdp
    Id                       : /subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup/securityRules/default-allow-rdp
    Etag                     : 
    ProvisioningState        : Succeeded
    Description              : 
    Protocol                 : TCP
    SourcePortRange          : *
    DestinationPortRange     : 3389
    SourceAddressPrefix      : *
    DestinationAddressPrefix : *
    Access                   : Allow
    Priority                 : 1000
    Direction                : Inbound
    

    如果没有允许 RDP 流量的规则, 请创建网络安全组规则。 允许 TCP 端口 3389。

  3. 重置用户凭据。 此故障排除步骤重置在不确定或忘记凭据时指定的本地管理员帐户的密码。

    首先,通过向变量分配凭据来指定用户名和新密码, $cred 如下所示:

    $cred=Get-Credential
    

    现在,更新 VM 上的凭据。 以下示例更新位置中和资源组中WestUSmyResourceGroup名为 myVM 的 VM 上的凭据:

    Set-AzVMAccessExtension -ResourceGroupName "myResourceGroup" `
        -VMName "myVM" -Location WestUS -Name "myVMAccessExtension" `
        -UserName $cred.GetNetworkCredential().Username `
        -Password $cred.GetNetworkCredential().Password
    
  4. 重启 VM。 此故障排除步骤可以更正 VM 本身存在的任何基本问题。

    以下示例重启名为 的资源组中名为 myVMmyResourceGroupVM:

    Restart-AzVM -ResourceGroup "myResourceGroup" -Name "myVM"
    
  5. 重新部署 VM。 此故障排除步骤会将 VM 重新部署到 Azure 中的另一台主机,以更正任何基础平台或网络问题。

    以下示例在位置和名为 myVM 的资源组中 WestUS 重新部署名为 的 myResourceGroupVM:

    Set-AzVM -Redeploy -ResourceGroupName "myResourceGroup" -Name "myVM"
    
  6. 验证路由。 使用 网络观察程序 的“下一跃点”功能确认路由不会阻止流量路由到虚拟机或从虚拟机路由流量。 还可以查看有效路由,查看网络接口的所有有效路由。 有关详细信息,请参阅 使用有效路由排查 VM 流量流问题。

  7. 确保任何本地防火墙或计算机上的防火墙都允许发到 Azure 的出站 TCP 3389 流量。

如果仍然遇到 RDP 问题,可以 打开支持请求 或阅读 更详细的 RDP 故障排除概念和步骤

排查使用经典部署模型创建的 VM 的问题

重要

经典 VM 将于 2023 年 9 月 1 日停用

如果使用 ASM 中的 IaaS 资源,请在 2023 年 9 月 1 日前完成迁移。 我们建议你尽快进行切换,以利用 Azure 资源管理器 中的许多功能增强功能。

有关详细信息,请参阅在 2023 年 9 月 1 日前将 IaaS 资源迁移到 Azure 资源管理器

完成每个故障排除步骤后,请尝试重新连接到 VM。

  1. 重置 RDP 连接。 例如,当禁用远程Connections或 Windows 防火墙规则阻止 RDP 时,此故障排除步骤会重置 RDP 配置。

    在Azure 门户中选择 VM。 单击 ...。“更多 ”按钮,然后单击“ 重置远程访问”:

    ...下的“重置远程访问”选项的屏幕截图“概述”选项卡中的“更多”按钮。

  2. 验证云服务终结点。 此故障排除步骤验证云服务中是否具有允许 RDP 流量的终结点。 RDP 的默认端口是 TCP 端口 3389。 创建 VM 时,可能不会自动创建允许 RDP 流量的规则。

    在Azure 门户中选择 VM。 单击“ 终结点 ”按钮,查看当前为 VM 配置的终结点。 验证是否存在允许 TCP 端口 3389 上的 RDP 流量的终结点。

    以下示例显示了允许 RDP 流量的有效终结点:

    “终结点”选项卡的“终结点详细信息”窗口的屏幕截图。

    如果没有允许 RDP 流量的终结点,请创建云服务终结点。 允许 TCP 到专用端口 3389。

  3. 查看 VM 启动诊断。 此故障排除步骤检查 VM 控制台日志,以确定 VM 是否报告了问题。 并非所有 VM 都启用了启动诊断,因此此故障排除步骤可能是可选的。

    具体的故障排除步骤超出了本文的范围,但可能表明影响 RDP 连接的更广泛问题。 有关查看控制台日志和 VM 屏幕截图的详细信息,请参阅 VM 的启动诊断

  4. 检查 VM 资源运行状况。 此故障排除步骤验证 Azure 平台是否存在可能影响到 VM 连接的已知问题。

    在Azure 门户中选择 VM。 将设置窗格向下滚动到列表底部附近的 “帮助 ”部分。 单击“资源运行状况”按钮。 正常的 VM 报告为 可用

    正常 VM 的屏幕截图 2 报告了经典部署模型,其中显示没有任何已知的 Azure 平台问题会影响此虚拟机。

  5. 重置用户凭据。 此故障排除步骤重置在不确定或忘记凭据时指定的本地管理员帐户的密码。 登录到 VM 后,应重置该用户的密码。

    在Azure 门户中选择 VM。 将设置窗格向下滚动到列表底部附近的 “帮助 ”部分。 单击“ 重置密码 ”按钮。 输入用户名和新密码。 最后,单击“ 保存” 按钮:

    经典部署模型中“重置密码”设置窗口的屏幕截图。

  6. 重启 VM。 此故障排除步骤可以更正 VM 本身存在的任何基本问题。

    在Azure 门户中选择 VM,然后单击“概述”选项卡。单击“重启”按钮:

    经典部署模型中“概述”选项卡中“重启”按钮的屏幕截图。

  7. 确保任何本地防火墙或计算机上的防火墙都允许发到 Azure 的出站 TCP 3389 流量。

如果仍然遇到 RDP 问题,可以 打开支持请求 或阅读 更详细的 RDP 故障排除概念和步骤

排查特定 RDP 错误

尝试通过 RDP 连接到 VM 时,可能会遇到特定的错误消息。 下面是最常见的错误消息:

排查具有Microsoft Entra凭据的用户 RDP 的登录问题

尝试使用Microsoft Entra凭据进行 RDP 时,可能会收到以下常见错误:“未分配 Azure 角色”、“未经授权的客户端”或“需要双重身份验证登录方法”。 请参阅以下文章来解决这些问题:

其他资源

如果这些错误均未发生,并且仍无法通过远程桌面连接到 VM,请阅读 远程桌面的详细故障排除指南

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。