使用SSL证书为Windows(非Server)远程桌面RDP连接加密

windows 专栏收录该内容
1 篇文章 1 订阅

使用SSL证书为Windows(非Server)远程桌面RDP连接加密

本文用于解决远程桌面连接中“无法验证此远程计算机的身份。”这一问题,具体症状如下图所示,强迫症福音!

具体症状

  • 本文主要介绍非Server系统中无法使用专用工具,转而修改注册表的方法
  • 本文假定您已对SSL证书有一定的了解,或最好已经成功的申请到了服务器SSL/TLS证书
  • 本文演示使用免费的StartSSL证书,其他机构签发的证书大同小异


原理分析

也不知是从哪一个版本开始,微软开始为远程桌面加入了SSL加密功能,并且是默认开启。
导致这个问题的原因实际是系统使用了一个自签名的默认证书,而这个自签名证书对于客户端来说是不可信的,也就是说无法用于证明服务端的身份,客户端自然就会报告其不安全。
那么解决的思路就有了,那就是我们为服务端添加一个可信的证书,并在远程桌面连接中让系统使用这个证书。
首先获得一个这样的证书并不难,只要你已经有至少一个可用的域名,那么StartSSL便可以免费为你提供;
然后导入这个证书也不难,只要参照配置https服务的方法,直接导入就行了;
那么问题在哪儿呢?那就是证书导进去了,系统却不使用。
这个问题在Server版当中据说有专门的工具解决,但桌面版却并没有,所以最后就只好修改注册表,将要用的证书的指纹填进去,告诉系统该用哪个证书,然后问题就解决了。


操作步骤

第一步 导入证书

已经用证书配置好https的可以跳过第一步。

我之前已经申请好证书了,在这里就不演示申请过程了,关于StartSSL免费证书的教程很多,可以自行百度之。

申请到证书后,在我们手中的应该是一个 *.p12 的证书文件, 放在一边备用。

如果手上只有 私钥 *.key证书 *.crt ,请使用StartSSL的控制台工具:Tool Box -> Create PKCS#12 (PFX) File,按照表单提示,提供私钥和证书内容,并设定一个密码,然后选择继续来生成.p12文件,熟悉linux的也可以用openssl命令行大法搞定。

首先按下‘Win + R’,进入“运行”,键入“mmc”,打开“管理控制台”。

运行

文件 中选择 添加/删除管理单元

管理控制台

在左侧选中 证书 后点击 添加

添加或删除单元

在弹出的对话框中选择 计算机账户,点击 下一步

证书管理单元

之后选择 本地计算机(保持默认) 然后点击 完成 ,再然后点击 确定

选择计算机

证书-个人 上点击 右键 ,选择 所有任务-导入

右键

按照向导点击 下一步 ,之后选择你的 证书文件p12格式的证书文件选择时需要更改文件类型才可以找到),之后需要输入之前设置的密码,证书存储 选择 根据证书类型,自动选择证书存储 ,然后点击下一步即可。

选择证书文件
输入密码
证书存储

导入完成后如下图所示:

导入完成


第二步 分配权限

首先在已经导入的证书上点击 右键 ,选择 所有任务-管理私钥

右键

之后添加 NETWORK SERVICE 用户。

添加用户

至少要将 读取 权限分配给 NETWORK SERVICE ,然后确定。

分配权限


第三步 编辑注册表

首先是按下‘Win + R’,进入“运行”,键入“regedit”,打开“管理控制台”。

运行

展开路径 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp ,然后添加如下项:
名称: SSLCertificateSHA1Hash
类型: REG_BINARY

新建项

之后回到之前的证书管理,双击打开已经导入的证书,在 详细信息 中选择 指纹 ,并记录下方的值。

证书指纹

最后将记录的值填入之前新建注册表项的 数据 位置。

填入指纹

至此便大功告成!请尽情使用吧!


注意事项

这个方法以拥有域名为基础,这也是申请免费SSL证书的条件,没有特殊需要的话也很便宜。
证书设置完成后,访问远程桌面服务器就需要填写域名方式访问,而如果以局域网机器名访问的话,会提示名称不匹配。
实际上,SSL证书只是和FQDN (fully qualified domain name,全称域名)绑定对应的,所以IP是什么根本无所谓,通过本地host或者本地DNS解析的方式映射上域名理论上也都是可以的。


参考文章

《使用StartSSL的免费SSL证书为Windows远程桌面RDS服务指定受信任的证书》

  • 4
    点赞
  • 2
    评论
  • 19
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值