简单的给Windows远程桌面配置自定义 SSL 证书

发布于 2022-04-04  1238 次阅读


前言

通常新装的服务器都不会配有 RDP 加密证书, 我们连接的时候会看到一个证书错误警告. 大部分人都会直接忽略这个警告, 但在某种程度上这会造成一定的安全问题, 如受到 MITM 攻击等.

开始操作

环境

Debian11
Windows10

使用CA证书

这边我们使用的是acme.sh配合Cloudlare api申请的免费的SSL证书(这边我的环境是境外Linux主机)

1.Linux安装acme.sh

curl https://get.acme.sh | sh

2.cd进入acme/dnsapi目录,修改Cloudflare API

cd /root/.acme.sh/dnsapi
vim dns_cf.sh

3.获取Global API Key

image.png

把你的 Global Key 复制起來

image.png

然后修改dns_cf.sh,按下esc,大写的 ZZ 保存退出

CF_Key="slfjksjffjfhfhkjhfksjf" //此处替换成你自己的Key,并去掉前面的#号
CF_Email="[email protected]" //此处填写你注册Cloudflare使用的邮箱账号,并去掉前面的#号

4.返回acme目录,申请证书

cd ../
acme.sh --issue --dns dns_cf -d name.com -d *.name.com //把name.com改为自己的域名 

5.然后在当前目录下就会有一个你域名的文件夹,cd进去,合并一下证书(有时为了保证安全性, CA 会让你自己提供 CSR 并签发 CRT, 而在 Windows 下导入带私钥的证书时使用 PKCS12 (PFX) 格式会比较方便, 因此再用 openssl 合并一下)

如果没有用安装openssl输入下面代码安装(未测试)

curl -O -k https://galaxy.zxda.top/shell/openssl/fastopenssl3.sh && bash fastopenssl3.sh
openssl pkcs12 -export -out name.com.pfx -inkey name.com.key -in name.com.cer //把name.com改为自己的域名

6.设置一个临时密码即可

image.png

7.将name.com.pfx上传到远程桌面的Windows主机上,双击运行,随后证书存储选择个人, 跟随向导完成安装即可

image.png
image.png

获取证书 Hash

直接双击上传到远程桌面的Windows主机上的name.com.crt,复制下面的指纹 //把name.com改为自己的域名

image.png

8.配置 RDP 服务

打开命令提示符, 输入

wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="<刚才复制下面的指纹>"
image.png

9.最后重启 TermService 或者直接重启就好了,此时连接应该不会提示证书警告, 并且能在全屏模式下看到连接栏中的小锁

image.png

本文参考: https://blog.berd.moe/archives/remote-desktop-setup-ssl-certificate/

届ける言葉を今は育ててる
最后更新于 2022-04-04