2013-02-15 273 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指紋(我不知道這些數字是什麼)。