如何解決 Windows 例項出現身份驗證錯誤及更正 CredSSP
現象描述
通過微軟的 RDP 協議客戶端 遠端連線 Windows 例項時報錯:出現身份驗證錯誤,要求的函式不受支援(The function requested is not supported)。
原因分析
微軟官方 2018 年 5 月更新了憑據安全支援提供程式協議(CredSSP)相關補丁和身份驗證請求方式。當出現以下任一配置策略時會出現該連線錯誤:
-
配置策略一:客戶端的策略為未修補,伺服器端策略為強制更新的客戶端。
-
配置策略二:客戶端策略為強制更新的客戶端,伺服器端策略為未修補。
-
配置策略三:客戶端的策略為緩解,伺服器端策略為未修補。
(推薦)解決方法 1:下載安全更新
-
通過 遠端連線功能 登入 Windows 例項。
-
搜尋並開啟 Windows 更新。
-
單擊 檢查更新 下載積累的更新。
-
等待更新和安裝完成。
-
重啟例項以完成安裝更新。
-
(可選)若您的客戶端為 Windows 作業系統,在客戶端中安裝所有積累的安全更新。
您也可以根據自己的作業系統,在 Windows 例項和客戶端上安裝 CredSSP 對應的安全更新安裝包:
解決方法 2:修改登錄檔
您可以選擇手動修改登錄檔,也可以選擇執行我們為您準備的 PowerShell 指令碼。
警告:使用登錄檔編輯器或其他方法修改登錄檔不當,可能會出現嚴重問題。這些問題可能需要您重新安裝作業系統。方法二會降低您本地計算機或例項的安全性,您需要自行承擔修改登錄檔風險。因此,我們建議您使用
方法一。說明:
手動修改
-
登入例項或者本地計算機。
-
單擊 開始 > 執行,輸入
regedit
,單擊 確定。 -
定位到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters
鍵。如果CredSSP
或者Parameters
鍵不存在,請新建CredSSP
Parameters
鍵。 -
在
Parameters
鍵下新建 DWORD 值AllowEncryptionOracle
,並設定資料為2
。 -
重啟例項或者本地計算機。
指令碼修改
-
登入例項或者本地計算機。
-
以管理員身份執行以下 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
以獲得更高的安全性。