通过远程桌面连接Windows实例时出现“出现身份验证错误,要求的函数不受支持”如何解决? 您所在的位置:网站首页 2114030924错误 通过远程桌面连接Windows实例时出现“出现身份验证错误,要求的函数不受支持”如何解决?

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

2023-06-28 21:38| 来源: 网络整理| 查看: 265

问题现象

通过远程桌面连接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系统版本

通过VNC连接Windows实例。

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

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

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

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

Windows Server 2012 R2系统版本

通过VNC连接Windows实例。

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

单击win2012开始图标图标,右键单击这台电脑,然后单击属性win2012开始

控制面板主页上,单击远程设置win2012远程设置

远程页签下,取消勾选仅允许运行使用网络级别身份验证的远程桌面的计算机连接(建议) ,然后单击确定win2012取消勾选

Windows Server 2016系统版本

通过VNC连接Windows实例。

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

单击Dingtalk_20210510142550.jpg图标,然后单击Windows系统

右键单击此电脑,然后选择更多 > 属性win2016属性

控制面板主页上,单击远程设置win2016远程设置

远程页签下,取消勾选仅允许运行使用网络级别身份验证的远程桌面的计算机连接(建议) ,然后单击确定win2016取消勾选

方案二 :安装对应补丁

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

通过VNC连接Windows实例。

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

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

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

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

说明

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

win2016检查更新

重启Windows实例以完成安装更新。

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

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

方案三:修改注册表

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

警告

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

(推荐)使用脚本修改注册表

通过VNC连接Windows实例。

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

打开CMD命令提示行。

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

运行对话框中输入cmd。win2016

单击确定

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

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

powershell

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

New-Item -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System -Name CredSSP -Force New-Item -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP -Name Parameters -Force Get-Item -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters | New-ItemProperty -Name AllowEncryptionOracle -Value 2 -PropertyType DWORD -Force

重启Windows实例以完成安装更新。

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

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

说明

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

手动修改注册表

通过VNC连接Windows实例。

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

打开注册表编辑器。

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

运行对话框中输入regedit。win2016运行窗口

单击确定

进入注册表编辑器。 win2016注册表编辑器

注册表编辑器页面的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters路径下,将注册表项AllowEncryptionOracle的数值数据设置为2

说明

注册表项AllowEncryptionOracle的数值数据信息,请参见CVE-2018-0886的CredSSP更新。

如果CredSSP项或Parameters项不存在,请新建对应注册表项,然后在该注册表项下新建REG_DWORD类型的注册表项AllowEncryptionOracle。以CredSSP项和Parameters均不存在为例,操作如下:

在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System路径下新建CredSSP项。

右键单击注册表项空表区域,然后选择新建(N) > 项(K)win2016新建项

输入CredSSP,按Enter键。

新建项

在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP路径下新建Parameters项。Parameters项

在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters路径下新建AllowEncryptionOracle项。新建字符串

修改注册表项AllowEncryptionOracle的数值数据

右键单击注册表项AllowEncryptionOracle,然后单击修改(M)修改注册表项

在对话框中,将数值数据设置为2,然后单击确定修改数据数值

重启Windows实例以更新配置。

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

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

相关文档

CVE-2018-0886 | CredSSP 远程执行代码漏洞



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有