本文介紹遠端連線Simple Application Server提示“出現身分識別驗證錯誤,要求的函數不受支援”的問題描述、問題原因及其解決方案。
問題描述
本地電腦使用遠端桌面連線工具串連Windows系統的Simple Application Server時,提示“出現身分識別驗證錯誤,要求的函數不受支援”。
問題原因
微軟官方於2018年5月,更新了憑據安全性支援提供者協議(CredSSP)相關補丁和身分識別驗證請求方式。預設情況下,如果本地電腦與Simple Application Server一方未安裝此補丁,則可能無法通訊。
當遇到以下任一情境時,會出現該串連錯誤:
情境一:本地電腦未更新該補丁,Simple Application Server已更新該補丁且加密Oracle修正的策略為強制更新的用戶端。
修複該串連錯誤的具體操作,請參見方案一:允許Simple Application Server遠端桌面連線。
情境二:本地電腦已更新該補丁且加密Oracle修正的策略為強制更新的用戶端,Simple Application Server未更新該補丁。
情境三:本地電腦已更新該補丁且加密Oracle修正的策略為緩解,Simple Application Server未更新該補丁。
未更新該補丁,指沒有更新自2018年5月起至今的任意版本補丁,包括最新版本補丁。
已更新該補丁,指更新過自2018年5月起至今的任意版本補丁或者所有版本補丁,包括最新版本補丁。
更多加密資料庫修正的策略資訊,請參見CVE-2018-0886的CredSSP更新。
解決方案
您可以通過允許Simple Application Server遠端桌面連線、安裝補丁或者修改註冊表的方法,修複該問題。具體方案如下:
方案一:允許Simple Application Server遠端桌面連線
Windows系統版本較多,且各版本之間操作略有差異,此處分別以Windows 2008 R2、Windows 2012 R2和Windows 2016資料中心版為例,操作步驟如下:
Windows 2008 R2
通過VNC串連Simple Application Server。
具體操作,請參見通過救援遠端連線(控制台)。
單擊開始,按右鍵電腦,然後單擊屬性。
在控制台首頁地區,單擊遠程設定。
在系統屬性對話方塊中,選中允許運行任意版本遠端桌面的電腦串連(較不安全),然後單擊確定。
Windows 2012 R2
通過VNC串連Simple Application Server。
具體操作,請參見通過救援遠端連線(控制台)。
單擊表徵圖,按右鍵這台電腦,然後單擊屬性。
在控制台首頁上,單擊遠程設定。
在遠程頁簽下,取消選中僅允許運行使用網路層級驗證的遠端桌面的電腦串連(建議) ,然後單擊確定。
Windows 2016資料中心版
通過VNC串連Simple Application Server。
具體操作,請參見通過救援遠端連線(控制台)。
單擊表徵圖,然後單擊Windows系統。
按右鍵此電腦,然後選擇更多 > 屬性。
在控制台首頁上,單擊遠程設定。
在遠程頁簽下,取消選中僅允許運行使用網路層級驗證的遠端桌面的電腦串連(建議) ,然後單擊確定。
方案二:安裝補丁
此處以Windows Server 2016系統版本為例,其他Windows系統版本操作類似。
通過VNC串連Simple Application Server。
具體操作,請參見通過救援遠端連線(控制台)。
單擊表徵圖,單擊設定。
在Windows 設定頁面,單擊更新和安全。
在更新狀態頁面,單擊檢查更新,等待更新下載和安裝。
說明如果需要手動安裝CredSSP對應安全更新包,請訪問微軟官網,然後下載對應版本的安全更新包。
在Simple Application Server中,選擇 > > 重啟,重啟Simple Application Server更新配置。
方案三:修改註冊表
此處以Windows Server 2016系統版本為例,其他Windows系統版本操作類似。當本地電腦或Simple Application Server完成CredSSP相關補丁的更新後,請選擇以下一種方式修改註冊表。
如果修改註冊表不當,Windows作業系統可能會出現嚴重問題,您需要自行承擔修改註冊表的風險。修改註冊表之前,建議您先建立快照備份資料,以免資料丟失。建立快照的具體操作,請參見建立快照。
(推薦)使用指令碼修改註冊表
通過VNC串連Simple Application Server。
具體操作,請參見通過救援遠端連線(控制台)。
開啟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
在Simple Application Server中,選擇 > > 重啟,重啟Simple Application Server更新配置。
說明若您先使用本方法修改了註冊表,隨後又更新了本地電腦和Simple Application Server的安全補丁,建議您將
AllowEncryptionOracle
的數值資料設為0
或者1
以獲得更高的安全性。AllowEncryptionOracle
的數值資料資訊,請參見CVE-2018-0886的CredSSP更新。
手動修改註冊表
通過VNC串連Simple Application Server。
具體操作,請參見通過救援遠端連線(控制台)。
開啟登錄編輯程式。
按右鍵表徵圖,然後單擊運行。
在運行對話方塊中輸入
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,然後單擊確定。
在Simple Application Server中,選擇 > > 重啟,重啟Simple Application Server更新配置。