今天想在“霧小腦”上面部署Web應用服務,為了方便當然是遠端登入了。透過快捷鍵Win+R開啟執行對話方塊並輸入指令“mstsc”就可以開啟“遠端桌面連線”工具,然後在“計算機”框中輸入要連線到的伺服器的IP地址和埠號就可以開始連線了。在彈出的“Windows安全中心”輸入遠端伺服器的登入賬號和密碼,正常情況下就可以登入服務介面的。但是這裡遇到了錯誤,提示:”出現身份驗證錯誤“,要求的函式不受支援。
Ping伺服器關於Windows Server 遠端桌面連線不上的問題需要從網路、埠、服務、防火牆這幾方面進行檢查,首先我們先確認想網路是否通暢。最簡單的就是透過ping命令來測試網路連線狀態,ping可以用來檢測本地主機是否能與另一臺主機成功交換(傳送與接收)資料包。當網路通暢時我們可以透過ping檢測到伺服器的響應速度,如果ping出異常也可以指明我們查詢方向。這裡我們可以看到ping的結果,是可以訪問到伺服器的。
Telnet埠既然可以訪問到伺服器那麼我們再來再看看埠是否也允許被訪問,Windows的遠端埠預設為3398。檢查埠我們可以使用telnet工具,telnet可以用來 測試埠號是否允許被遠端訪問。如果telnet可以進入說明該埠是允許被訪問的,那麼問題可能就出在伺服器上了。伺服器可能禁止了遠端服務,或者開啟了防火牆攔截遠端服務。
是否允許被遠端檢視伺服器是否允許被遠端,伺服器桌面找到“此電腦”滑鼠右鍵選擇“屬性”,選擇“高階系統設定”->“遠端”。我們可以看到“遠端桌面”是允許遠端連線到此計算機的,只是遠端協助灰色不可選。遠端協助是邀請他人來幫忙,他人可以控制我們的電腦。遠端桌面是我們去協助他人,我們可以控制他人的電腦。
CredSSP前面的錯誤提示我們可能是由於CredSSP加密資料庫修正導致的錯誤,CredSSP是處理應用程式的身份驗證請求的身份驗證提供程式。CredSSP 的未修補版本中存在遠端程式碼執行漏洞, 成功利用此漏洞的攻擊者可以在目標系統上中繼使用者憑據以執行程式碼。 任何依賴 CredSSP 進行身份驗證的應用程式都可能容易受到此類攻擊,此安全更新透過更正 CredSSP 在身份驗證過程中驗證請求的方式可以修復此漏洞。
CredSSP修正微軟官方給出了“由於CredSSP 加密Oracle修正”的解決方案,透過策略組來修正CredSSP。我們在“執行”中輸入指令:gpedit.msc開啟本地組策略編輯器,然後依次查詢計算機配置->管理模板->系統->憑據分配。在右側視窗中找到: 加密資料庫修正。但是很遺憾的是我這臺Windows Server伺服器上貌似沒有這個選項,也沒有顯示相關的更新補丁。
登錄檔修復策略組沒有相關的設定我們可以透過登錄檔來手動新增,我們在“執行”中輸入指令:“regedit” 按Enter鍵即可開啟登錄檔。在左側依次查詢路徑:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters,然後在右側視窗雙擊“AllowEncryptionOracle” 並把值設定成“2”。我這裡到System 後就沒有了,我們手動建立檔案加並新建一個“DWORD(32位)值”並將名稱修改為AllowEncryptionOracle。最後儲存登錄檔並退出就可以登陸遠端桌面了, 如有必要也可以重啟一下電腦。重新嘗試遠端連線,還是提示錯誤:"由於CredSSP 加密Oracle修正"。
更新補丁檢查更新發現系統有可用更新,也不知道有沒有我們需要的更新服務。不管了先更新一下吧,更新有點慢花了很長的時間。更新之後我們重啟伺服器來生效更新,重新嘗試遠端連線,還是提示錯誤:"由於CredSSP 加密Oracle修正"。我的個乖乖,到底問題出在哪裡了???
修改伺服器登入設定返回去再檢查一次,在伺服器登入設定中我們看到一個選項“僅允許執行使用網路級別身份驗證的遠端桌面計算機連線(建議)”。這個應該跟身份驗證有關係我們關掉試試?去掉勾選再嘗試遠端登入,Nice就是它了....。搞半天問題竟然在源頭這裡,真是瞎折騰了!