排查与 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 连接。 例如,当远程连接被禁用或 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 的属性来获取现有扩展的名称。 若要查看名称,请查看输出的“扩展”部分。

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

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

    以下示例重置位置和资源组中WestUS命名myVMmyResourceGroup的 VM 上的 RDP 连接:

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

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

    $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命名myVMmyResourceGroup的 VM 上的凭据:

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

    以下示例重启在资源组中命名 myVM 的 VM,该 VM 名为 myResourceGroup

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

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

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

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

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

对使用经典部署模型创建的 VM 进行故障排除

重要

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

如果使用 ASM 中的 IaaS 资源,请在 2023 年 3 月 1 日之前完成迁移。 我们鼓励你更快地进行切换,以利用 Azure 资源管理器中的多项功能增强功能。

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

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

  1. 重置 RDP 连接。 例如,当远程连接被禁用或 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 时,可能会遇到特定的错误消息。 以下是最常见的错误消息:

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

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

其他资源

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

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持