对 Azure 虚拟机的远程桌面连接进行故障排除
适用于:✔️ Windows VM
注意
本文有帮助吗? 你的输入对我们很重要。 请使用此页上的 “反馈 ”按钮告诉我们本文为你工作得有多好,或者我们如何改进它。
与基于 Windows 的 Azure 虚拟机 (VM) 的远程桌面协议 (RDP) 连接可能会因各种原因而失败,使用户无法访问 VM。 问题可能出在 VM 上的远程桌面服务、网络连接或主计算机上的远程桌面客户端。 本文介绍了解决 RDP 连接问题的一些最常见方法。
如果对本文中的任何内容需要更多帮助,可以联系 MSDN Azure 和 Stack Overflow 论坛上的 Azure 专家。 或者,你也可以提出 Azure 支持事件。 转到Azure 支持站点并选择“获取支持”
快速故障排除步骤
在执行每个故障排除步骤之后,请尝试连接到 VM:
- 重置远程桌面配置。
- 检查网络安全组规则/云服务终结点。
- 查看 VM 控制台日志。
- 重置 VM 的 NIC。
- 查看 VM 资源运行状况。
- 重置 VM 密码。
- 重新启动 VM。
- 重新部署 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。 如果仍然无法连接,请尝试下一步。
重置 RDP 连接。 例如,如果远程连接已禁用或 Windows 防火墙规则正在阻止 RDP,此故障排除步骤可重置 RDP 配置。
在 Azure 门户中选择 VM。 将设置窗格向下滚动到 列表底部附近的“帮助 ”部分。 单击“重置密码”按钮。 将“模式”设置为“仅重置配置”,然后单击“更新”按钮:
验证网络安全组规则。 使用 IP 流验证来确认网络安全组中的规则是否阻止了传入或传出虚拟机的流量。 还可以查看有效的安全组规则,确保入站“允许”NSG 规则存在并已针对 RDP 端口(默认值 3389)进行优化。 有关详细信息,请参阅使用有效的安全规则排查 VM 流量流问题。
查看 VM 启动诊断。 此故障排除步骤通过查看 VM 控制台日志确定 VM 是否报告问题。 并非所有 VM 均已启用启动诊断,所以此故障排除步骤是可选项。
具体的故障排除步骤不在本文范围之内,但可能指示影响 RDP 连接的更广泛问题。 有关查看控制台日志和 VM 屏幕截图的详细信息,请参阅 VM 启动诊断。
重置 VM 的 NIC。 有关详细信息,请参阅如何重置 Azure Windows VM 的 NIC。
查看 VM 资源运行状况。 此故障排除步骤验证 Azure 平台不存在可能影响 VM 连接性的已知问题。
在 Azure 门户中选择 VM。 将设置窗格向下滚动到 列表底部附近的“帮助 ”部分。 单击“资源运行状况”按钮。 正常的 VM 报告为可用:
重置用户凭据。 不确定或忘记凭据时,此故障排除步骤将重置本地管理员帐户的密码。 登录到 VM 后,应重置该用户的密码。
在 Azure 门户中选择 VM。 将设置窗格向下滚动到 列表底部附近的“帮助 ”部分。 单击“重置密码”按钮。 确保“模式”已设置为“重置密码”,并输入用户名和新密码。 最后,单击“更新”按钮:
重新启动 VM。 此故障排除步骤可以更正 VM 本身具有的任何基础问题。 在Azure 门户中选择 VM,然后单击“概述”选项卡。单击“重启”按钮。
重新部署 VM。 此故障排除步骤将 VM 重新部署到 Azure 内的另一台主机,以更正任何基础平台或网络问题。
在 Azure 门户中选择 VM。 将设置窗格向下滚动到 列表底部附近的“帮助 ”部分。 单击“重新部署”按钮,并单击“重新部署”:
完成此操作后,临时磁盘数据将丢失,系统将更新与 VM 关联的动态 IP 地址。
验证路由。 使用网络观察程序的下一跃点功能确认路由未阻止将流量路由到虚拟机或从虚拟机路由流量。 还可以查看有效路由,以了解网络接口的所有有效路由。 有关详细信息,请参阅使用有效路由排查 VM 流量流问题。
确保任何本地防火墙或计算机上的防火墙允许发往 Azure 的出站 TCP 3389 流量。
如果仍遇到 RDP 问题,可以开具支持请求或阅读更详细的 RDP 故障排除概念和步骤。
使用 Azure PowerShell 进行故障排除
如果尚未执行该操作,请安装并配置最新的 Azure PowerShell。
以下示例使用 myResourceGroup
、myVM
、myVMAccessExtension
之类的变量。 将这些变量名称和位置替换为自己的值。
注意
使用 Set-AzVMAccessExtension PowerShell cmdlet 重置用户凭据和 RDP 配置。 在以下示例中,myVMAccessExtension
是过程中所指定的名称。 如果以前使用过 VMAccessAgent,可以使用 Get-AzVM -ResourceGroupName "myResourceGroup" -Name "myVM"
检查 VM 的属性,从而获取现有的扩展名称。 若要查看名称,请在输出的“Extensions”部分下查找。
在执行每个故障排除步骤之后,请尝试再次连接到 VM。 如果仍然无法连接,请尝试下一步。
重置 RDP 连接。 例如,如果远程连接已禁用或 Windows 防火墙规则正在阻止 RDP,此故障排除步骤可重置 RDP 配置。
以下示例会在
WestUS
位置和名为myResourceGroup
资源组中重置名为myVM
的 VM 上的 RDP 连接:Set-AzVMAccessExtension -ResourceGroupName "myResourceGroup" ` -VMName "myVM" -Location Westus -Name "myVMAccessExtension"
验证网络安全组规则。 此故障排除步骤验证网络安全组中是否有允许 RDP 通信的规则。 RDP 的默认端口为 TCP 端口 3389。 允许 RDP 通信的规则可能无法在创建 VM 时自动创建。
首先,将网络安全组的所有配置数据都指定给
$rules
变量。 以下示例会在名为myResourceGroup
的资源组中获取关于名为myNetworkSecurityGroup
的网络安全组的信息:$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。
重置用户凭据。 不确定或忘记凭据时,此故障排除步骤将重置所指定本地管理员帐户的密码。
首先,通过为
$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
重新启动 VM。 此故障排除步骤可以更正 VM 本身具有的任何基础问题。
以下示例重新启动
myResourceGroup
资源组中名为myVM
的 VM:Restart-AzVM -ResourceGroup "myResourceGroup" -Name "myVM"
重新部署 VM。 此故障排除步骤将 VM 重新部署到 Azure 内的另一台主机,以更正任何基础平台或网络问题。
以下示例重新部署
WestUS
位置和myResourceGroup
资源组中名为myVM
的 VM:Set-AzVM -Redeploy -ResourceGroupName "myResourceGroup" -Name "myVM"
验证路由。 使用网络观察程序的下一跃点功能确认路由未阻止将流量路由到虚拟机或从虚拟机路由流量。 还可以查看有效路由,以了解网络接口的所有有效路由。 有关详细信息,请参阅使用有效路由排查 VM 流量流问题。
确保任何本地防火墙或计算机上的防火墙允许发往 Azure 的出站 TCP 3389 流量。
如果仍遇到 RDP 问题,可以开具支持请求或阅读更详细的 RDP 故障排除概念和步骤。
解决特定 RDP 错误
尝试通过 RDP 连接到 VM 时,可能出现特定错误消息。 以下是最常见的错误消息:
- 由于没有可用于提供许可证的远程桌面授权服务器,远程会话已断开连接。
- 远程桌面找不到计算机“名称”。
- 发生身份验证错误。 无法联系本地安全机构。
- Windows 安全性错误:凭据无效。
- 此计算机无法连接到远程计算机。
排查使用 Microsoft Entra 凭据的用户 RDP 时出现的登录问题
尝试使用 Microsoft Entra 凭据的 RDP 时,可能会收到以下常见错误:“未分配 Azure 角色”、“未授权客户端”或“需要双重身份验证登录方法”。 请参阅以下文章来修复这些问题:
- 你的帐户已配置为阻止你使用此设备。 有关详细信息,请联系系统管理员。
- Windows 安全性错误:凭据无效。 未经授权的客户端。
- Windows 安全性错误:凭据无效。 需要更改密码。
- 不允许尝试使用的登录方法。 尝试其他登录方法或联系系统管理员。
其他资源
如果未发生上述任何错误但仍无法通过远程桌面连接到 VM,请阅读详细的远程桌面故障排除指南。
- 有关用于访问 VM 上运行的应用程序的故障排除步骤,请参阅对在 Azure VM 上运行的应用程序的访问进行故障排除。
- 如果在 Azure 中使用 Secure Shell (SSH) 连接到 Linux VM 时遇到问题,请参阅对 Azure 中到 Linux VM 的 SSH 连接进行故障排除。
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区。