与 Azure 虚拟机的远程桌面连接疑难解答

与基于 Windows 的 Azure 虚拟机 (VM) 的远程桌面协议 (R) DP 连接可能会由于各种原因失败,导致无法访问 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 路由或站点到站点 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。 向下滚动设置窗格到列表 底部 附近的"帮助"部分。 单击" 重置密码" 按钮。 将 **"模式"**设置为"仅重置配置",然后单击"更新" 按钮:

    Screenshot of the Mode setting window of the Reset password tab, in which the Reset configuration only option is selected.

  2. 验证网络安全组规则。 使用 IP 流验证 以确认网络安全组内的规则是否阻止了与虚拟机通信。 您还可以查看有效的安全组规则,以确保入站"允许"NSG 规则存在,并针对默认为 3389 (RDP 端口设置) 。 有关详细信息,请参阅使用有效 安全规则排查 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。

以下示例使用变量,如 、 myResourceGroup myVMmyVMAccessExtension 。 用您自己的值替换这些变量名称和位置。

备注

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

在每个疑难解答步骤后,请尝试再次连接到 VM。 如果仍然无法连接,请尝试下一步。

  1. 重置 RDP 连接。 例如,当禁用远程连接或防火墙规则Windows阻止 RDP 时,此疑难解答步骤将重置 RDP 配置。

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

    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 流量的有效安全规则。 可以看到 、 Protocol DestinationPortRange 、 和 Access Direction 已正确配置:

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

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

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

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

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

    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 时,可能会遇到特定错误消息。 以下是最常见的错误消息:

其他资源

如果未出现这些错误,但仍无法通过远程桌面连接到 VM,请阅读远程 桌面的详细疑难解答指南

  • 有关访问 VM 上运行的应用程序的疑难解答步骤,请参阅 对在 Azure VM上运行的应用程序的访问疑难解答。
  • 如果在使用安全命令行管理程序 (SSH) Azure 中的 Linux VM 时遇到问题,请参阅在 Azure 中对 Linux VM 进行 SSH连接疑难解答。