Haru

Haru

配置Windows遠程桌面的證書

0x00 背景#

在使用 RDP(Windows Remote Desktop)時,無論是輸入 IP 地址還是域名都會提示無法驗證遠程計算機的身份,是否仍要連接?

而在 macOS 設備上,會彈出如下的提示,與 Windows 的提示大意相同,都是在表明將要連接的計算機所使用的是不被信任的證書。

證書異常提示

這個證書是在 Windows 安裝的過程中以計算機名稱為域名的證書,不被信任也是合理的。雖然在 Windows 下點了不再提示後便再也不見,但在 macOS 客戶端上仍會有此提示。故要想完整的解決這個證書問題,只能修改被連接計算機系統中的 RDP 所使用的 SSL 證書文件。

在正式進入下列步驟之前,確保已經擁有了域名與相應的證書文件。

0x01 前提準備#

若使用的國內雲廠商(如阿里雲、騰訊雲等)提供的證書,可以選擇 PFX 證書下載以作備用。而使用acme.sh 進行申請所得到的證書有your.domain.keyyour.domain.crt。需要注意的是,Windows 並不能直接使用此類證書,而是採用了PKCS#12標準證書,樣式通常為上述所提到的your.domain.pfx

轉換證書可以使用OpenSSL操作。假使已經完成了 OpenSSL 的安裝與證書的申請,便開始進行證書的轉換。

openssl pkcs12 -export -in your.domain.pem -inkey your.domain.key -out your.domain.pfx

執行上述命令後會提示鍵入私鑰密碼,記住此密碼,稍後添加證書時需要使用。完成後將在當前工作目錄下找到需要的your.domain.pfx文件。

0x02 添加證書#

將上一步得到的證書上傳到 Windows 計算機中,並雙擊打開,會彈出證書導入嚮導。

  • 存儲位置:本地計算機
  • 要導入的文件:直接點擊下一步即可
  • 私鑰保護:此處輸入上一步中鍵入的密碼
  • 證書存儲位置:個人

點擊完成後即可導入成功。此時已將上一步中的 pfx 證書文件導入到 Windows 中。但只導入證書還不能達到使用此證書作為 RDP 證書的效果。

使用快捷鍵Win+R ,輸入certlm.msc ,打開本地計算機證書管理器。在個人→證書列中可以發現剛剛導入的證書。右鍵此證書→所有任務→管理私鑰,在打開的對話框中點擊添加,輸入NETWORK SERVICE 並點擊確定。給NETWORK SERVICE以允許讀取的權限。

搜索 NETWORK SERVICE 用戶

賦予可讀權限

點擊確定即可保存權限。

再次雙擊此證書,點擊詳細信息,在字段中找到指紋字段項,點擊後將對應的值複製作備用。

0x03 配置 SSL 證書#

此時需要將證書指紋配置到註冊表中。

假使上述得到的指紋為yourprivatefingerprint 。右鍵 Windows 菜單,以管理員身份運行 PowerShell,並輸入

$fingerprint = "yourprivatefingerprint"
$path = (Get-WmiObject -Namespace root\cimv2\TerminalServices -Class Win32_TSGeneralSetting -Filter 'TerminalName="RDP-Tcp"').__path
Set-WmiInstance -Path $path -argument @{SSLCertificateSHA1Hash="$fingerprint"}

到此處已經配置完成了 Windows RDP 的證書。若證書對應的域名已經解析到此 Windows 計算機上,再次遠程桌面時將不再提示證書問題。

此文由 Mix Space 同步更新至 xLog
原始鏈接為 https://blog.allieqian.com/posts/tech/8EandzDrRKcdQn


載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。