如何排查使用 RDP 连接到 EC2 Windows 实例时出现的身份验证错误?

上次更新时间:2020 年 5 月 29 日

我无法使用远程桌面协议 (RDP) 登录到我的 Amazon Elastic Compute Cloud (Amazon EC2) Windows 实例。我收到以下其中一条身份验证错误消息:

  • “出现身份验证错误。无法联系本地安全性机构。”
  • “您尝试连接的远程计算机需要网络级别身份验证 (NLA),但无法联系您的 Windows 域控制器执行 NLA。如果您是远程计算机上的管理员,则您可以通过使用‘系统属性’对话框的‘远程’选项卡上的选项禁用 NLA。”
  • “此计算机无法连接到远程计算机。请再次尝试连接,如果问题仍然存在,请联系远程计算机拥有者或您的网络管理员。”

如何排查这些错误?

解决方法

当实例因域凭证未经过身份验证而失去与域控制器的连接时,往往会发生 NLA 错误。要修复此问题,您可以使用 AWS Systems Manager AWSSupport-TroubleshootRDP 自动化文档,或者您可以在实例上禁用 NLA。

AWSSupport-TroubleshootRDP 自动化文档

AWSSupport-TroubleshootRDP 自动化文档允许您修改 Amazon EC2 Windows 实例上的常见设置,这些设置可能会影响 RDP 连接。有关使用 AWSSupport-TroubleshootRDP 文档进行故障排查的说明,请参阅 AWSSupport-TroubleshootRDP

在实例上禁用 NLA

注意:禁用 NLA 需要更改注册表。开始之前,请从实例创建一个 Amazon 系统映像 (AMI)。这会在您更改注册表之前创建备份。

要使用 AWS Systems Manager AWS-RunPowerShellScript Run Command 添加注册表项,请执行以下步骤:

重要提示:实例必须已安装 AWS Systems Manager SSM 代理。实例还必须拥有具备 Systems Manager 权限的 AWS Identity and Access Management (IAM) 角色 (AmazonEC2RoleforSSM)。有关更多信息,请参阅 Systems Manager 先决条件

1.    打开 AWS Systems Manager 控制台

2.    从导航窗格的实例和节点部分,选择运行命令

3.    选择运行命令

4.    对于命令文档,请选择 AWS-RunPowerShellScript

5.    对于命令参数,请输入以下命令:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SecurityLayer /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v fAllowSecProtocolNegotiation /t REG_DWORD /d 0 /f

6.    对于目标,请选择手动选择实例

7.    选择实例。

8.    选择运行

9.    等待片刻直到总体状态更改为成功。2 分钟后刷新页面。

10.    重新启动实例。

11.    使用 RDP 登录实例。

如果您仍然无法连接,请参阅如何对到 Amazon EC2 Windows 实例的远程桌面连接问题进行问题排查?


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?