本文作者:阿豪

远程登入Windows报错:The function requested is not supported(出现身份验证错误,要求的函数不受支持)

阿豪 2020-06-20 597
远程登入Windows报错:The function requested is not supported(出现身份验证错误,要求的函数不受支持)摘要: 本文提供通过微软的RDP协议本地客户端远程连接Windows实例时报错:出现身份验证错误,要求的函数不受支持(The function requested is not suppo...

本文提供通过微软的RDP协议本地客户端远程连接Windows实例时报错:出现身份验证错误,要求的函数不受支持(The function requested is not supported)的解决方法。

image.png

问题原因

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

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

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

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

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

Windows Server 2008 R2

1.通过远程连接功能登录Windows实例。

2.打开开始,右键单击计算机,选择属性

image.png

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

image.png

Windows Server 2012 R2

1.通过远程连接功能登录Windows实例。

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

image.png

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

image.png

Windows Server 2016

1.通过远程连接功能登录Windows实例。

2.打开开始 > Windows系统 > 此电脑,右键单击此电脑,选择更多 > 属性。

image.png

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

image.png

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

1.搜索并打开Windows更新。

2.单击检查更新下载积累的更新。

image.png

3.等待更新下载和安装。

4.重启实例以完成安装更新

您也可以根据自己的操作系统,在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脚本。

手动修改

登录实例或者本地计算机。

1.单击开始 > 运行,输入regedit,单击确定。

2.定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters键,如果CredSSP或者Parameters键不存在,请新建CredSSP或者Parameters键。

image.png

3.在Parameters键下新建DWORD值AllowEncryptionOracle,并设置数据为2。

image.png

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

脚本修改

登录实例或者本地计算机。

以管理员身份运行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以获得更高的安全性。

转载来自阿里云 地址https://help.aliyun.com/knowledge_detail/71931.html?spm=a2c4g.11186631.2.15.1a89e9686shZnx


文章版权及转载声明

作者:阿豪本文地址:https://www.ahaoyw.com/article/350.html发布于 2020-06-20
文章转载或复制请以超链接形式并注明出处阿豪运维

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏