转自:https://help.aliyun.com/knowledge_detail/71931.html?spm=a2c4g.11174386.n2.3.ZZdPs8
现象描述
通过微软的 RDP 协议客户端远程连接Windows 实例时报错:出现身份验证错误,要求的函数不受支持。
原因分析
微软官方 2018 年 5 月更新了凭据安全支持提供程序协议(CredSSP)相关补丁和身份验证请求方式。当出现以下任一配置策略时会出现该连接错误:
配置策略一:客户端的策略为未修补,服务器端策略为强制更新的客户端。
配置策略二:客户端策略为强制更新的客户端,服务器端策略为未修补。
配置策略三:客户端的策略为缓解,服务器端策略为未修补。
解决方法
(推荐)方法一. 下载安全更新
在所有的客户端和 Windows 实例上更新最新的 5 月份累积更新。
说明:通过远程连接功能登录 Windows 实例。
您可以通过下面链接,选择下载适合您操作系统的官方操作系统的补丁:
- Windows Server 2008 32位下载
- Windows Server 2008 R2 64位下载
- Windows Server 2012 R2 64位下载
- Windows Server 2016 64位下载
- Windows Server 1709 64位下载
您也可以从 Windows Update 检查并安装安全更新,也可以访问微软官网CVE-2018-0886 CredSSP 远程执行代码漏洞下载对应操作系统的 Security Update。
方法二. 修改注册表
您可以选择手动修改注册表,也可以选择运行我们为您准备的 PowerShell 脚本。
警告:使用注册表编辑器或其他方法修改注册表不当,可能会出现严重问题。这些问题可能需要您重新安装操作系统。方法二会降低您本地计算机或实例的安全性,您需要自行承担修改注册表风险。因此,我们建议您使用方法一。
说明:
- 当原因为策略配置一时,您需要通过远程连接功能登录并修复目标实例。当原因为策略配置二和三时,您需要修复本地计算机。
- 在修改注册表之前,建议您先通过创建快照备份数据,以免数据丢失。
手动修改
登录实例或者本地计算机。
单击开始>运行,输入regedit,单击确定。
定位到 HKLMSoftwareMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters 键。如果CredSSP或者Parameters键不存在,请新建Parameters键。
在Parameters键下新建DWORD值AllowEncryptionOracle,并设置数据为2。
重启实例或者本地计算机。
脚本修改
登录实例或者本地计算机。
以管理员身份运行以下 PowerShell 脚本。
New-Item Path HKLM:SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem Name CredSSP Force
:SoftwareMicrosoftWindowsCurrentVersionPoliciesSystemCredSSP Parameters Force
Get:SoftwareMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters | ItemProperty AllowEncryptionOracle Value 2 PropertyType DWORD Force
重启实例或者本地计算机。
说明:若您优先使用方法二修改了注册表,随后又更新了客户端和ECS实例安全补丁,我们建议您将AllowEncryptionOracle的数据设为0或者1以获得更高的安全性。
(编辑:鲜蔬坊站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|