如何解决Windows远程桌面提示身份验证错误及CredSSP加密Oracle修正
如何解决Windows远程桌面提示身份验证错误及CredSSP加密Oracle修正
2018-11-9 21:29:57

现象描述

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

现象

原因分析

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

  • 配置策略一:客户端的策略为未修补,服务器端策略为强制更新的客户端。

  • 配置策略二:客户端策略为强制更新的客户端,服务器端策略为未修补。

  • 配置策略三:客户端的策略为缓解,服务器端策略为未修补。

(推荐)解决方法 1:下载安全更新

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

  2. 搜索并打开 Windows 更新

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

    Download

  4. 等待更新和安装完成。

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

  6. (可选)若您的客户端为 Windows 操作系统,在客户端中安装所有积累的安全更新。

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

解决方法 2:修改注册表

您可以选择手动修改注册表,也可以选择运行我们为您准备的 PowerShell 脚本。

警告:使用注册表编辑器或其他方法修改注册表不当,可能会出现严重问题。这些问题可能需要您重新安装操作系统。方法二会降低您本地计算机或实例的安全性,您需要自行承担修改注册表风险。因此,我们建议您使用 方法一

说明

  • 当原因为策略配置一时,您需要通过 远程连接功能 登录并修复目标实例。当原因为策略配置二和三时,您需要修复本地计算机。
  • 在修改注册表之前,建议您先通过 创建快照 备份数据,以免数据丢失。

手动修改

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

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

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

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

    注册表

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

脚本修改

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

  2. 以管理员身份运行以下 PowerShell 脚本。

     
    1. New-Item -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System -Name CredSSP -Force
    2. New-Item -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP -Name Parameters -Force
    3. Get-Item -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters | New-ItemProperty -Name AllowEncryptionOracle -Value 2 -PropertyType DWORD -Force
  3. 重启实例或者本地计算机。

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

参考链接

阿里云产品

Copyright © 2017 www.aliyunvip.com All rights reserved. 阿里云金牌服务商 · 北京闻名天下科技有限公司