206
云计算
负载均衡
产品简介
产品价格
快速入门
用户指南
实践操作
常见问题
购买指南
云服务器
产品简介
计费规则
购买指导
控制台使用指南
常见问题
云数据库
产品简介
计费规则
购买指导
快速入门
连接实例
控制台使用指南
对象存储
产品简介
控制台使用指南
程序员百科
Python
通过远程桌面连接Windows实例时出现“出现身份验证错误,要求的函数不受支持”如何解决?

产品推荐:

1、安全稳定的云服务器租用,2核/2G/5M仅37元,点击抢购>>>

2、高防物理服务器20核/16G/50M/500G防御仅350元,点击抢购>>>

3、百度智能建站(五合一网站)仅880元/年,点击抢购>>> 模板建站(PC+手机站)仅480元/年,点击抢购>>>

4、阿里云服务器2核2G3M仅99元/年、2核4G5M仅199元/年,新老同享,点击抢购>>> 

5、腾讯云服务器2核2G4M仅99元/年、新老同享,点击抢购>>>   


通过远程桌面连接Windows实例时出现“出现身份验证错误,要求的函数不受支持”如何解决?

本文介绍通过远程桌面连接Windows实例时出现“出现身份验证错误,要求的函数不受支持”错误提示的解决方案。

问题现象

通过远程桌面连接Windows实例时,出现错误提示“出现身份验证错误,要求的函数不受支持”。

1232132

问题原因

微软官方于2018年5月,更新了凭据安全支持提供程序协议(CredSSP)相关补丁和身份验证请求方式。默认情况下,安装此更新后,修补的本地电脑无法与未修补的ECS实例进行通信。

说明

加密Oracle修正是操作系统内的一种策略设置,此策略设置可应用于使用 CredSSP 组件(例如,远程桌面连接)的应用程序。

当遇到如下任一情况时,会出现该连接错误:

  • 情景一:本地电脑未更新该补丁,ECS实例已更新该补丁且加密Oracle修正的策略为强制更新的客户端,请参考方案一:ECS实例允许远程桌面连接进行修复。

  • 情景二:本地电脑已更新该补丁且加密Oracle修正的策略为强制更新的客户端,ECS实例未更新该补丁,请参考方案二 :安装对应补丁或方案三:修改注册表进行修复。

  • 情景三:本地电脑已更新该补丁且加密Oracle修正的策略为缓解,ECS实例未更新该补丁。 请参考进行修复,请参考方案二 :安装对应补丁或方案三:修改注册表进行修复。

说明
  • 未更新该补丁,指没有更新自2018年5月起至今的任意版本补丁,包括最新版本补丁。

  • 已更新该补丁,指更新过自2018年5月起至今的任意版本补丁或者所有版本补丁,包括最新版本补丁。

  • 更多加密Oracle修正的策略信息,请参见CVE-2018-0886的CredSSP更新。

解决方案

根据实际情况,参考以下三种解决方案:

方案一:ECS实例允许远程桌面连接

说明

由于Windows Server系统版本较多,且各版本之间操作略有差异,此处分别以Windows Server 2008 R2、Windows Server 2012 R2和Windows Server 2016版本为例,步骤如下。


Windows Server 2008 R2系统版本
Windows Server 2012 R2系统版本
Windows Server 2016系统版本
  1. 通过VNC连接Windows实例。

    具体操作,请参见通过密码认证登录Windows实例。

  2. 单击开始,右键单击计算机,然后单击属性win2008开始菜单

  3. 控制面板主页区域,单击远程设置win2008远程设置

  4. 系统属性对话框中,勾选允许运行任意版本远程桌面的计算机连接(较不安全),然后单击确定win2008允许

方案二 :安装对应补丁

此处以Windows Server 2016系统版本为例,其他Windows系统版本操作类似。

  1. 通过VNC连接Windows实例。

    具体操作,请参见通过密码认证登录Windows实例。

  2. 单击Dingtalk_20210510142550.jpg图标,单击设置win2016开始

  3. Windows 设置页面,单击更新安全win2016更新与安全

  4. 更新状态页面,单击检查更新,等待更新下载和安装。

    说明

    如果需要手动安装CredSSP对应安全更新包,请访问微软官网,然后下载对应版本的安全更新包。

    win2016检查更新
  5. 重启Windows实例以完成安装更新。

    • 方式一:在ECS控制台上重启Windows实例,具体操作,请参见重启实例。

    • 方式二:以Windows Server 2016版本为例,在远程连接的Windows实例上,选择Dingtalk_20210510142550.jpg > 电源管理 > 重启win2016重启服务器

方案三:修改注册表

此处以Windows Server 2016系统版本为例,其他Windows系统版本操作类似。当本地电脑或ECS实例完成CredSSP相关补丁的更新后,请选择以下一种方式修改注册表。

警告

如果修改注册表不当,Windows操作系统可能会出现严重问题,您需要自行承担修改注册表的风险。修改注册表之前,建议您先创建快照备份数据,以免数据丢失。创建快照的具体操作,请参见创建一个云盘快照。


(推荐)使用脚本修改注册表
手动修改注册表
  1. 通过VNC连接Windows实例。

    具体操作,请参见通过密码认证登录Windows实例。

  2. 打开CMD命令提示行。

    1. 右键单击Dingtalk_20210510142550.jpg图标,然后单击运行win2016运行

    2. 运行对话框中输入cmdwin2016

    3. 单击确定

      进入CMD命令提示行。win2016cmd命令提示行

  3. 执行以下命令,进入PowerShell模式。

    powershell
  4. 执行如下命令,以管理员身份运行Windows PowerShell脚本。

    New-Item -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System -Name CredSSP -ForceNew-Item -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP -Name Parameters -ForceGet-Item -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters | New-ItemProperty -Name AllowEncryptionOracle -Value 2 -PropertyType DWORD -Force
  5. 重启Windows实例以完成安装更新。

    • 方式一:在ECS控制台上重启Windows实例,具体操作,请参见重启实例。

    • 方式二:以Windows Server 2016版本为例,在远程连接的Windows实例上,选择Dingtalk_20210510142550.jpg > 电源管理 > 重启win2016重启服务器

    说明

    若您先使用本方法修改了注册表,随后又更新了本地电脑和Windows实例的安全补丁,建议您将AllowEncryptionOracle数值数据设为0或者1以获得更高的安全性。AllowEncryptionOracle数值数据信息,请参见CVE-2018-0886的CredSSP更新。


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!