RDP计算机密钥权限异常导致远程连接“内部错误”

问题现象

在使用远程桌面工具(MSTSC)连接Windows实例时,连接失败并弹窗提示错误:出现了内部错误。

b361e1c3-58eb-4052-8e9b-33b97cdedaba

问题原因

系统密钥文件权限缺失

远程桌面服务(Remote Desktop Services)依赖特定的 RSA 机器密钥文件(MachineKey)进行加密握手。该文件通常位于 C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys 目录下,且文件名以 f686aace6942fb7f7ceb231212eef4a4 开头。如果 SYSTEMNETWORK SERVICE 账户丢失了对该文件的读取或控制权限,RDP 服务将无法正常工作,导致连接时报“内部错误”。

解决方案

重要

此方案需修改系统关键配置,请先为ECS实例手动创建单个快照,以便在出现误操作时快速回滚环境。

由于 RDP 无法连接,必须通过云平台提供的 VNC(VNC/管理终端)登录系统。我们将按序修正密钥文件的所有者,重置访问权限,最后重启远程桌面服务。

步骤一:定位目标密钥文件

此步骤用于在 VNC 环境中找到受损的系统文件。

  1. 通过VNC连接登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过VNC远程连接。输入账号和密码,登录ECS实例。

  2. 打开资源管理器,将以下路径复制到地址栏并回车(ProgramData 默认为隐藏目录):

    C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys

  3. 找到文件名以 f686aace6942fb7f7ceb231212eef4a4 开头的文件。

步骤二:获取文件所有权

若当前用户无权修改权限,需先获取文件所有权。

  1. 右键单击该文件,选择属性 > 安全 > 高级

  2. 所有者栏旁点击更改

  3. 输入具有计算机管理权限的用户名(例如Administrators),点击检查名称,确认后,点击确定保存。

步骤三:修正文件权限

此步骤用于恢复系统账号对密钥的访问权。

  1. 右键单击该文件,选择属性 > 安全 > 高级,在高级安全设置窗口中,调整权限条目,仅保留并确保以下两项配置(如缺失需点击“添加”手动创建):

    主体

    类型

    权限

    继承自

    SYSTEM

    允许

    完全控制

    NETWORK SERVICE

    允许

    读取

  2. 点击 确定 保存所有更改。

步骤四:重启服务验证

权限修复后,需重启服务使配置生效。

  1. 右键点击开始菜单,选择运行,输入cmd并回车,打开命令提示符,执行以下命令重启远程桌面服务:

    net stop TermService /y
    net start TermService
  2. 尝试重新使用本地 MSTSC 客户端远程连接该实例。