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

使用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服务指定受信任的证书》

  • 6
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在 Windows Server 上打开远程桌面连接,你可以按照以下步骤进行操作: 1. 首先,确保你已经安装了远程桌面服务(Remote Desktop Services)。如果没有安装,你需要通过服务器管理器(Server Manager)安装该功能。 2. 打开“开始”菜单,然后选择“服务器管理器”(Server Manager)。 3. 在服务器管理器窗口中,点击左侧的“远程桌面服务”(Remote Desktop Services)。 4. 在右侧的面板中,点击“收集和验证角色服务”(Collect and verify role services)。 5. 在远程桌面服务角色安装向导中,选择“远程桌面会话主机”(Remote Desktop Session Host)。 6. 完成安装向导后,返回服务器管理器窗口。在左侧的面板中,点击“远程桌面服务”下的“远程桌面会话主机配置”(Remote Desktop Session Host Configuration)。 7. 在远程桌面会话主机配置窗口中,点击“网络适配器”(Network Adapter)下的“连接”(Connections)。 8. 右键点击“RDP-Tcp”,然后选择“属性”(Properties)。 9. 在“常规”(General)选项卡中,确保“启用连接到此计算机的用户使用远程桌面服务”(Allow connections from computers running any version of Remote Desktop)选项被勾选。 10. 点击“应用”(Apply),然后点击“确定”(OK)保存设置。 现在,你已经成功打开了 Windows Server远程桌面连接。其他计算机可以使用远程桌面客户端连接到该服务器上。请确保在远程连接之前,你已经设置了正确的网络和安全设置,以确保远程连接的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值