如何在Windows Server 2012上修复RDP?


12

这是RDP状态的快照。看起来不错: 在此处输入图片说明

当我从远程计算机连接时,出现错误:

"This computer can't connect to the remote computer. 
Try connecting again. If the problem continues..."

我已经远程测试了端口3389,它是开放的。我已经用netstat测试过。

TCP    0.0.0.0:3389           hostname:0                LISTENING
  • 没有Windows防火墙
  • 没有网络防火墙
  • 全新的自签名证书
  • 机器最近重新启动,在此之前可以工作
  • 终端服务正在运行
  • 当我检查SSL证书时,它会显示所有详细信息,看起来不错,将于2014年到期
  • hklm:\ System \ CurrentControlSet \ Control \ Terminal Server \ fDenyTSConnections为0
  • C:\ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys管理员拥有所有特权

更新:

现在,我在“管理事件”下的事件日志中找到了这个:

"A fatal error occurred when attempting to access the SSL server credential 
private key. The error code returned from the cryptographic module is 0x8009030D. 
The internal error state is 10001." 

我不确定如何解决以上错误。我也不确定这是我导入的RD证书,尽管我确实知道当我尝试从计算机上进行RDP时会发生这种情况。

更新二:

我尝试使用Powershell生成带有私钥的证书。没运气。这里这里没有运气的二手技术。每次我在MMC证书管理单元中将证书添加到系统用户的受信任根目录和个人证书时。

更新三:

很烦人

此论坛表明Windows可能在重新引导期间已更新,从而导致在安装远程桌面连接代理角色时出现不可恢复的错误(显然需要生成私钥pfx文件以导入到MMC中)。该错误是2013年6月发布的修补程序KB2821895。这可能会令人畏惧吗?http://support.microsoft.com/kb/2871777

因此,我运行了最新的Windows更新,并尝试安装远程桌面连接代理,以便可以生成pfx文件。没运气。它说没有安装一个或多个父功能-即使安装了Hyper-V等。它没有说要添加什么其他角色...

更新摘要问题!

因此,从理论上讲,一切都说完了,是否可以让RD连接代理安装(以便生成私钥)解决我的加密错误?


您的屏幕截图是rdp网关的信息,但您是在谈论香草rdp。他们是两件分开的事。rdp网关在:443上工作以在网络内部建立rdp连接的通道。
马克·亨德森

正确,我被偷偷怀疑在错误的地方–我该如何解决证书问题?我看不到香草RD设置中的哪一个甚至可以更改此设置。
FlavorScape 2013年

通过netstat验证服务是否运行还不够。从远程系统运行“ telnet IP_OF_RDP_HOST 3389”(不带引号),它应删除cmd窗口中的所有文本。或者,运行网络捕获(netmon / wireshark)以确定是否正在建立TCP会话。
user2320464 '16

尝试浏览blogs.technet.microsoft.com/askperf/2014/10/22/…-它对我有用,但拒绝了RDP与Win2012 svr的连接:-)
Nigel Harvey

Answers:


7

将SSL证书(和关联的私钥)导入Windows Server 2012后进行连接时,您可能会遇到此错误:

This computer can't connect to the remote computer. Try connecting again. If the problem continues, contact the owner of the remote computer or your network administrator. 

此外,在Windows事件日志中,您会看到:

"A fatal error occurred when attempting to access the SSL server credential 
private key. The error code returned from the cryptographic module is 0x8009030D. 
The internal error state is 10001." 

解:

引用Microsoft KB2001849:

“远程桌面主机服务服务在NETWORK SERVICE帐户下运行。因此,有必要设置RDS使用的密钥文件的ACL(由SSLCertificateSHA1Hash注册表值中命名的证书引用),以使NETWORK SERVICE包含“读取”权限:要修改权限,请执行以下步骤:

打开本地计算机的证书管理单元:

  1. 单击开始,单击运行,键入mmc,然后单击确定。

  2. 在“文件”菜单上,单击“添加/删除管理单元”。

  3. 在“添加或删除管理单元”对话框的“可用管理单元”列表中,单击“证书”,然后单击“添加”。

  4. 在“证书”管理单元对话框中,单击“计算机帐户”,然后单击“下一步”。

  5. 在“选择计算机”对话框中,单击“本地计算机:”(运行此控制台的计算机),然后单击“完成”。

  6. 在“添加或删除管理单元”对话框中,单击“确定”。

  7. 在“证书”管理单元的控制台树中,展开“证书(本地计算机)”,再展开“个人”,然后导航到您要使用的SSL证书。

  8. 右键单击证书,选择“所有任务”,然后选择“管理私钥”。

  9. 在“权限”对话框中,单击“添加”,键入“网络服务”,单击“确定”,在“允许”复选框下选择“读取”,然后单击“确定”。

资料来源:https : //support.microsoft.com/en-us/kb/2001849


3

我禁用了网关服务。我最终运行MMC并完全删除了RD证书。然后我禁用并重新启用允许远程连接。这产生了一个新的,良好的证书,我能够在计算机域上登录!


2

我是否假设您导入了自签名证书?如果这是你最有可能标志着证书不可导出,然后将解释错误的情况下......看一看http://blogs.msdn.com/b/kaushal/archive/2012/10/07/error -hresult-0x80070520-在iis.aspx中添加ssl绑定时,以获取更多详细信息。如果我对,则需要删除并重新导入设置了“允许导出”标志的证书。


我的证书从未生成私钥,因此我无法导出/导入以将其而不是用户证书存储区添加到系统中。我现在正尝试使用PowerShell生成带有私钥的密钥,因为显然RD对话框中的密钥根本不执行此操作。
FlavorScape 2013年

我也没有将绑定添加到IIS,而是用于远程桌面...
FlavorScape 2013年

1

有一个适合您的解决方案:

下载makecert.exe并为RDP生成新证书

makecert -r -pe -n“ CN = server FQDN” -eku 1.3.6.1.5.5.7.3.1 -ss my -sr LocalMachine -sky exchange -sp“ Microsoft RSA SChannel加密提供程序” -sy 12“

用实际值更改服务器FQDN。

转到计算机证书,然后在远程桌面下删除当前证书。然后从个人商店将新创建的证书移至远程桌面。打开证书并复制指纹。

打开regedit并转到:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations

使用新的证书卷标更新SelfSignedCertificate密钥。

重新启动远程桌面服务服务


1

我遇到了同样的问题,单击“连接”后立即出现错误。

为解决我问题,我更改了远程桌面服务服务,使其以本地系统帐户而不是网络服务的

身份运行重新启动该服务,一切正常。 编辑:我刚刚发现这将导致访问被拒绝的消息,必须将其设置为网络服务。但是,将其更改为“本地系统帐户”,然后再更改为“网络服务”,完全可以解决我的问题。



1

最终,这就是为我解决了同一问题的原因(此TechNet帖子中有关如何跟踪哪个私钥是犯罪者的重要道具)

  1. 下载并运行Procmon(从Sysinternals Suite)
  2. 通过侦听该路径中的任何活动来监视MachineKeys文件夹中的活动(最有可能是:C:\ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys)
  3. 尝试对有问题的计算机进行RDP,然后您应该看到Procmon注意访问被拒绝错误以及拒绝访问的文件
  4. 删除有问题的文件(您可能必须先使其自己成为文件的所有者,然后再赋予自己完全控制权)
  5. 重新启动计算机,它应该使用正确的权限重新生成丢失的密钥

0

我参加聚会很晚,但这对我有所帮助。

  • 生成新的PFX证书。自签名将起作用:

    安装模块SharePointPnPPowerShellOnline $ password = ConvertTo-SecureString“ P @ ssword” -Force -AsPlainText New-PnPAzureCertificate -CommonName RDS_CertName -ValidYears 30 -OutPfx“ RDS_CertName .pfx” -CertificatePassword $ password

  • 在输出窗口中捕获指纹
  • 将生成的PFX证书安装到“我的电脑”>“个人存储”中
  • 使用上面步骤中捕获的指纹运行以下命令:

    wmic / namespace:\ root \ cimv2 \ TerminalServices PATH Win32_TSGeneralSetting设置SSLCertificateSHA1Hash =“ THUMB_PRINT

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.