对 Azure 虚拟机的远程桌面连接进行故障排除

适用于:✔️ Windows VM

注意

本文有帮助吗? 你的输入对我们很重要。 请使用此页上的 “反馈 ”按钮告诉我们本文为你工作得有多好,或者我们如何改进它。

与基于 Windows 的 Azure 虚拟机 (VM) 的远程桌面协议 (RDP) 连接可能会因各种原因而失败,使用户无法访问 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 的“连接”按钮不可用,并且用户未通过 Express Route站点到站点 VPN 连接来连接到 Azure,则必须先为 VM 创建并分配一个公共 IP 地址,才能使用 RDP。 详细了解 Azure 中的公共 IP 地址

解决 RDP 问题的方法

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

  • Azure 门户 - 如果需要快速重置 RDP 配置或用户凭据,并且没有安装 Azure 工具,则很适合使用此方法。
  • Azure PowerShell - 如果熟悉 PowerShell 提示符,可使用 Azure PowerShell cmdlet 快速重置 RDP 配置或用户凭据。

使用 Azure 门户进行故障排除

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

  1. 重置 RDP 连接。 例如,如果远程连接已禁用或 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

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

注意

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

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

  1. 重置 RDP 连接。 例如,如果远程连接已禁用或 Windows 防火墙规则正在阻止 RDP,此故障排除步骤可重置 RDP 配置。

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

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

    首先,将网络安全组的所有配置数据都指定给 $rules 变量。 以下示例会在名为 myResourceGroup 的资源组中获取关于名为 myNetworkSecurityGroup 的网络安全组的信息:

    $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 上的凭据。 以下示例会在 WestUS 位置中和名为 myResourceGroup 的资源组中更新名为 myVM 的 VM 上的凭据:

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

    以下示例重新启动 myResourceGroup 资源组中名为 myVM 的 VM:

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

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

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

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

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

解决特定 RDP 错误

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

排查使用 Microsoft Entra 凭据的用户 RDP 时出现的登录问题

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

其他资源

如果未发生上述任何错误但仍无法通过远程桌面连接到 VM,请阅读详细的远程桌面故障排除指南

联系我们寻求帮助

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