2013-02-15 34 views
8

我公司管理只是找到了这个问题的答案,因为我在写它,所以我在这里张贴他人:如何获取RDP会话的Windows主机密钥?


我用xfreerdp在Linux上使用RDP连接到Windows 7的机器。通常情况下,我提供我的凭据和机器的IP地址,一切正常。有一天,我进来并尝试连接,才得以呈现这样的:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!  @ 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! 
Someone could be eavesdropping on you right now (man-in-the-middle attack)! 
It is also possible that a host key has just been changed. 
The fingerprint for the host key sent by the remote host is 
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx 

(在X的是实际的数字)。我检查了我的Linux known_hosts文件,因为我是连接到本机,是的,确实,机器的RSA指纹确实发生了变化。所以我问了我公司的管理员他是否已经做了一些更新或者任何会改变Windows用于RDP会话的关键的东西。他说他知道什么都没有改变。在这一点上,常识和我的安全知识告诉我,我不应该连接,直到我物理登录到机器并检查确实有一个新的RDP主机密钥。 (如果没有,那么很可能会发生中间人攻击。)

问题是,当我登录到物理机器时发现RSA密钥已经改变了,我无法弄清楚去哪里查看它。我在网上搜索,无法找出Windows 7中的任何方式来查看关键RDP会话使用的RSA指纹。有谁知道我可以在哪里查看密钥?

+0

感谢您报告回来,但这不是一个真正的编程问题。 – 2013-02-15 17:01:28

+1

这只是一个程序员会发现有用的东西,但如果你知道更好的地方,我可以发布这个请让我知道。 – Alex 2013-02-15 17:04:51

+0

超级用户或stackexchange上的安全将是合乎逻辑的地方... – 2013-02-15 19:42:28

回答

11

这里是如何获取RDP会话的RSA主机密钥指纹在Windows 7中一步一步的指导:

首先,点击启动按钮(或按键盘上的Windows键)。 在搜索中输入“mmc”,然后选择“mmc.exe”(Microsoft管理控制台)。

Step 1

当它打开时,单击File>添加/删除管理单元... 从左侧列表(可用的管理单元),选择“证书”,然后单击“添加>”

Step 2

选择 “计算机帐户”,点击下一步。确保选择“本地计算机”,然后单击“完成”。点击“确定”退出添加/删除管理单元屏幕。

Step 3

现在你应该回​​到主MMC窗口,但应该有一个管理单元称为“证书(本地计算机)”在左侧的列表中。展开并展开“远程桌面”,然后展开“证书”。应该至少有一个证书出现在窗口的中间区域。双击它,然后选择“详细信息”选项卡。向下滚动到底部,将会有关于证书中指定的密钥的详细信息,包括“Thumbprint”字段,该字段对应于Linux xfreerdp在尝试连接到计算机时报告的主机密钥指纹。

Step 4

您还会注意到,有在“指纹”字段是一个额外的两个十六进制数字。 (xfreerdp报告的指纹长38个十六进制数字,而指纹字段有40个)。剥离指纹中的前两个十六进制数字以获得RDP主机密钥的RSA指纹(我不知道这些数字是什么)。

相关问题