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

问题原因
此问题通常由远程计算机的 RDP 注册表配置异常导致,主要涉及安全协议协商或证书指纹不匹配。
RDP 安全配置被禁用:注册表项
fAllowSecProtocolNegotiation被设置为禁用,导致服务端拒绝与客户端协商安全协议。加密级别设置不兼容:注册表项
MinEncryptionLevel数值设置错误,导致连接加密强度要求无法满足。证书指纹校验失败:注册表项
SSLCertificateSHA1HashValue中记录的证书指纹与系统当前使用的远程桌面证书不一致。
解决方案
此方案需修改系统关键配置,请先为ECS实例手动创建单个快照,以便在出现误操作时快速回滚环境。
我们将通过VNC方式登录实例,检查并修正注册表中RDP相关的关键配置项。
步骤一:定位并修正RDP配置
通过VNC连接登录ECS实例。
访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。
进入目标实例详情页,单击远程连接,选择通过VNC远程连接。输入账号和密码,登录ECS实例。
右键点击开始菜单,选择运行,输入
regedit并回车,打开注册表编辑器。在注册表编辑器中,定位至以下路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp在右侧窗口找到并检查以下键值,按需修改:
fAllowSecProtocolNegotiation双击打开,确保数值数据设置为
1。作用:允许安全协议协商。
MinEncryptionLevel双击打开,确保数值数据设置为
3。作用:设置最小加密级别。
验证
SSLCertificateSHA1HashValue重要如果服务器安装了远程桌面连接代理角色,请勿执行此方案,以免影响代理服务功能。
验证方法:右键点击开始菜单,选择运行,输入
certlm.msc按回车,找到,双击证书查看,检查指纹是否与注册表中的SSLCertificateSHA1HashValue一致。参数不存在处理策略:忽略此配置。
不一致处理策略:如果注册表中的值与证书指纹不匹配,或无法确定,请直接删除该注册表键值(系统重启后会自动重建或忽略旧值)。
步骤二:重启生效
注册表修改完成后,需重启实例以确保配置生效。等待实例启动完成后,尝试再次使用本地MSTSC客户端连接该实例。