本文介绍远程连接轻量应用服务器提示“出现身份验证错误,要求的函数不受支持”的问题描述、问题原因及其解决方案。
问题描述
本地电脑使用远程桌面连接工具连接Windows系统的轻量应用服务器时,提示“出现身份验证错误,要求的函数不受支持”。
问题原因
微软官方于2018年5月,更新了凭据安全支持提供程序协议(CredSSP)相关补丁和身份验证请求方式。默认情况下,如果本地电脑与轻量应用服务器一方未安装此补丁,则可能无法通信。
当遇到以下任一场景时,会出现该连接错误:
场景一:本地电脑未更新该补丁,轻量应用服务器已更新该补丁且加密Oracle修正的策略为强制更新的客户端。
修复该连接错误的具体操作,请参见方案一:允许轻量应用服务器远程桌面连接。
场景二:本地电脑已更新该补丁且加密Oracle修正的策略为强制更新的客户端,轻量应用服务器未更新该补丁。
场景三:本地电脑已更新该补丁且加密Oracle修正的策略为缓解,轻量应用服务器未更新该补丁。
未更新该补丁,指没有更新自2018年5月起至今的任意版本补丁,包括最新版本补丁。
已更新该补丁,指更新过自2018年5月起至今的任意版本补丁或者所有版本补丁,包括最新版本补丁。
更多加密数据库修正的策略信息,请参见CVE-2018-0886的CredSSP更新。
解决方案
您可以通过允许轻量应用服务器远程桌面连接、安装补丁或者修改注册表的方法,修复该问题。具体方案如下:
方案一:允许轻量应用服务器远程桌面连接
Windows系统版本较多,且各版本之间操作略有差异,此处分别以Windows 2008 R2、Windows 2012 R2和Windows 2016数据中心版为例,操作步骤如下:
Windows 2008 R2
通过VNC连接轻量应用服务器。
具体操作,请参见通过VNC远程连接(控制台)。
单击开始,右键单击计算机,然后单击属性。
在控制面板主页区域,单击远程设置。
在系统属性对话框中,选中允许运行任意版本远程桌面的计算机连接(较不安全),然后单击确定。
Windows 2012 R2
通过VNC连接轻量应用服务器。
具体操作,请参见通过VNC远程连接(控制台)。
单击图标,右键单击这台电脑,然后单击属性。
在控制面板主页上,单击远程设置。
在远程页签下,取消选中仅允许运行使用网络级别身份验证的远程桌面的计算机连接(建议) ,然后单击确定。
Windows 2016数据中心版
通过VNC连接轻量应用服务器。
具体操作,请参见通过VNC远程连接(控制台)。
单击图标,然后单击Windows系统。
右键单击此电脑,然后选择更多 > 属性。
在控制面板主页上,单击远程设置。
在远程页签下,取消选中仅允许运行使用网络级别身份验证的远程桌面的计算机连接(建议) ,然后单击确定。
方案二:安装补丁
此处以Windows Server 2016系统版本为例,其他Windows系统版本操作类似。
通过VNC连接轻量应用服务器。
具体操作,请参见通过VNC远程连接(控制台)。
单击图标,单击设置。
在Windows 设置页面,单击更新和安全。
在更新状态页面,单击检查更新,等待更新下载和安装。
说明如果需要手动安装CredSSP对应安全更新包,请访问微软官网,然后下载对应版本的安全更新包。
在轻量应用服务器中,选择 > > 重启,重启轻量应用服务器更新配置。
方案三:修改注册表
此处以Windows Server 2016系统版本为例,其他Windows系统版本操作类似。当本地电脑或轻量应用服务器完成CredSSP相关补丁的更新后,请选择以下一种方式修改注册表。
如果修改注册表不当,Windows操作系统可能会出现严重问题,您需要自行承担修改注册表的风险。修改注册表之前,建议您先创建快照备份数据,以免数据丢失。创建快照的具体操作,请参见创建快照。
(推荐)使用脚本修改注册表
通过VNC连接轻量应用服务器。
具体操作,请参见通过VNC远程连接(控制台)。
打开CMD命令提示行。
右键单击图标,然后单击运行。
在运行对话框中输入
cmd
。单击确定。
进入CMD命令提示行。
执行以下命令,进入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
在轻量应用服务器中,选择 > > 重启,重启轻量应用服务器更新配置。
说明若您先使用本方法修改了注册表,随后又更新了本地电脑和轻量应用服务器的安全补丁,建议您将
AllowEncryptionOracle
的数值数据设为0
或者1
以获得更高的安全性。AllowEncryptionOracle
的数值数据信息,请参见CVE-2018-0886的CredSSP更新。
手动修改注册表
通过VNC连接轻量应用服务器。
具体操作,请参见通过VNC远程连接(控制台)。
打开注册表编辑器。
右键单击图标,然后单击运行。
在运行对话框中输入
regedit
。单击确定。
进入注册表编辑器。
在注册表编辑器页面的
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)。
输入
CredSSP
,按Enter
键。
在
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP
路径下新建Parameters
项。在
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters
路径下新建AllowEncryptionOracle
项。修改注册表项
AllowEncryptionOracle
的数值数据。右键单击注册表项
AllowEncryptionOracle
,然后单击修改(M)。在对话框中,将数值数据设置为2,然后单击确定。
在轻量应用服务器中,选择 > > 重启,重启轻量应用服务器更新配置。