前言
通常新装的服务器都不会配有 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

把你的 Global Key 复制起來

然后修改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.设置一个临时密码即可

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


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

8.配置 RDP 服务
打开命令提示符, 输入
wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="<刚才复制下面的指纹>"

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

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



Comments NOTHING