其他教程

其他教程

Products

当前位置:首页 > 其他教程 >

Windows远程出现身份验证错误由于CredSSP加密

GG网络技术分享 2025-03-18 16:14 0


大家好,这里是关于[Windows远程桌面连接提示:出现身份验证错误,要求的函数不受支持。解决办法],[Windows远程出现身份验证错误由于CredSSP加密]问题的解答,希望对您有所帮助。如果你还想了解更多这方面的信息,请关注本站其他相关内容,共同学习吧!

Windows远程桌面连接提示:出现身份验证错误,要求的函数不受支持。解决办法

教程大全Windows,Windows远程桌面连接,出现身份验证错误

Windows远程桌面连接提示:出现身份验证错误,要求的函数不受支持。解决办法

The function requested is not supported

详细报错信息:

出现身份验证错误
要求的函数不受支持
远程计算机:IP
这可能是由于CredSSP 加密 Oracle 修正。
若要了解详细信息,请访问 https://go.microsoft.com/fwlink/?linkid=866660

错误截图:

问题原因:

微软官方2018年5月更新了凭据安全支持提供程序协议(CredSSP)相关补丁和身份验证请求方式。当出现以下任一情景时会出现该连接错误:

情景一:本地客户端未更新该补丁,服务器端已更新该补丁且加密Oracle修正的策略为强制更新的客户端。
情景二:本地客户端已更新该补丁且加密Oracle修正的策略为强制更新的客户端,服务器端未更新该补丁。

情景三:本地客户端已更新该补丁且加密Oracle修正的策略为缓解,服务器端未更新该补丁。

说明

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

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

加密Oracle修正的策略路径为计算机配置 > 管理模板 > 系统 > 凭据分配 > 加密 Oracle 修正。

解决方法一:服务器端允许任意版本的远程桌面连接

警告 此操作将允许较低安全级别的远程桌面连接。为了保证信息安全,建议先使用方法一快速登录服务器,再采用方法二,最后将方法一的配置做反向修改,关闭 允许运行任意版本远程桌面的计算机连接(较不安全)特性。

Windows Server 2008 R2

通过控制台远程连接功能登录Windows实例。如果是独立服务器就让服务商来登录。
打开开始,右键单击计算机,选择属性。

在系统控制面板中,单击远程设置,在弹出的远程桌面选项中选择允许运行任意版本远程桌面的计算机连接(较不安全)并单击确定。

Windows Server 2012 R2

通过控制台远程连接功能登录Windows实例。如果是独立服务器就让服务商来登录。

在开始界面,右键单击这台电脑,选择属性。

在系统控制面板中,单击远程设置,在弹出的远程桌面选项中取消选择仅允许运行使用网络级别身份验证的远程桌面的计算机连接(建议)并单击确定。

Windows Server 2016

通过控制台远程连接功能登录Windows实例。如果是独立服务器就让服务商来登录。。
打开开始 > Windows系统 > 此电脑,右键单击此电脑,选择更多 > 属性。

在系统控制面板中,单击远程设置,在弹出的远程桌面选项中取消选择仅允许运行使用网络级别身份验证的远程桌面的计算机连接(建议) 并单击确定。

解决方法二:下载Windows安全更新

通过控制台远程连接功能登录Windows实例。如果是独立服务器就让服务商来登录。

说明 如果本地客户端是Windows系统,请同样执行如下更新操作。
搜索并打开Windows更新。
单击检查更新下载积累的更新。

等待更新下载和安装。

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

也可以根据自己的操作系统,在Windows实例和本地客户端上直接安装CredSSP对应的安全更新安装包:

  • Windows Server 2008 32位下载
  • Windows Server 2008 R2 64位安全更新下载
  • Windows Server 2008 R2 64位质量和安全更新下载
  • Windows Server 2012 R2 64位安全更新下载
  • Windows Server 2012 R2 64位质量和安全更新下载
  • Windows Server 2016 64位下载
  • Windows Server 1709 64位下载

解决方法三:修改注册表

针对已经更新CredSSP相关补丁的本地客户端或者服务器端,可以手动修改注册表,也可以运行PowerShell脚本。

警告

使用注册表编辑器或其他方法修改注册表不当,可能会出现严重问题,您需要自行承担修改注册表风险。修改注册表之前,建议您先通过创建快照备份数据,以免数据丢失。

手动修改

登录实例或者本地计算机。
单击开始 > 运行,输入regedit,单击确定。
定位到HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\\CredSSP\\Parameters键,如果CredSSP或者Parameters键不存在,就新建CredSSP或者Parameters键。
在Parameters键下新建DWORD值AllowEncryptionOracle,并设置数据为2。

重启实例或者本地计算机。

使用脚本修改注册表

登录服务器或者本地计算机。
以管理员身份运行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

重启服务器或者本地计算机。

说明 若优先使用本方法修改了注册表,随后又更新了本地客户端和ECS实例安全补丁,建议将 AllowEncryptionOracle的值设为 0或者 1以获得更高的安全性。

Windows远程出现身份验证错误由于CredSSP加密

这几天win10更新之后,远程win server 2016就连不上了。

如图所示:

我猜想是系统更新的锅,于是查看了微软的补丁说明:

https://support.microsoft.com/zh-cn/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018

果不其然,说明中写了:

这次补丁将CredSSP 身份验证协议默认设置成了“缓解”,我们之前是“易受攻击”

微软给出了相应设置路径:

方法一:

修改组策略:

右击左下角win图标,选择“运行”

然后输入 gpedit.msc

确定后就会打开组策略,然后选择计算机配置>管理模板>系统>凭据分配>加密Oracle修正

修改为易受攻击即可。

如提示找不到’gpedit.msc‘请看方法二

方法二:

修改注册表:

有些人打不开’gpedit.msc‘,原因是系统是家庭版的原因,家庭版的windows没有组策略,根据此情况,微软提供了第二个解决办法

右击左下角win图标,选择“运行”

然后输入 regedit

依次打开:HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\\CredSSP\\Parameters

一般打开到System目录就没有文件了,右击System,新建——项:

命名为CredSSP,然后右击CredSSP,新建项命名为Parameters:

最终目录如下:

然后右击Parameters,新建——DWORD(32)位,命名为 AllowEncryptionOracle :

双击刚刚新建的AllowEncryptionOracle:

数值数据修改为2:

最终如上图所示

然后就可以尝试远程连接你的服务器了,如不能,重启即可。

标签:

提交需求或反馈

Demand feedback