讓Windows XP SP3也支持網絡級身份驗證
日期:2017/2/7 16:08:48   編輯:XP系統基礎知識
SP3有一點,就是遠程桌面更新到了V6.1。查看了相關網頁,了解到6.0以上版本的遠程桌面是支持NLA(Network Level Authentication )的。NLA說白了就是在你進行遠程桌面之前就進行身份驗證,而不是你連上之後再在登陸的時候進行身份驗證。而Vista 默認是“只允許運行帶網絡身份驗證的遠程計算機連接”。於是乎,我從SP3連Vista失敗。
網上解決辦法是:設置vista的遠程桌面連接方式為“允許任意版本遠程桌面連接”。這種降級來適應XP,我以為是一種倒退,不然將XP 的遠程桌面升級到6.1沒有任何意義啊。故而在合作伙伴新聞組中發帖詢問微軟工程師:
微軟工程師起初的答復是XP不支持NLA。後來糾正說SP3支持NLA,並告訴我按照以下方法操作使XP支持NLA。他給我我一片KB:http://support.microsoft.com/kb/951608/
開啟NLA操作是:
1. 單擊 開始 ,單擊 運行 ,鍵入 regedit ,然後按 ENTER 鍵。
2. in navigation pane,locate and then click following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
3. 在詳細信息窗格中, 用鼠標右鍵單擊 SecurityProviders ,然後單擊 修改 。
4. 在 數值數據 框,鍵入 tspkg 。 留下特定於其他 SSP,任何數據,然後單擊 確定 。
5. in navigation pane,locate and then click following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders
6. in details pane,right-click SecurityProviders,and then click Modify 。
7. 在 數值數據 框,鍵入 credssp.dll 。 留下特定於其他 SSP,任何數據,然後單擊 確定 。
8. exit Registry Editor。
9. 請重新啟動計算機。.
按KB操作,在XP的遠程桌面中看到了支持網絡級身份驗證。
輸入vista 主機的IP,哎,有了,要求身份驗證:
很不幸,發生身份驗證錯誤:發生身份驗證錯誤(代碼:0x80090303)
再次向微軟工程師,工程師也不知道具體所在,但是提供了一些排錯方法,最後是通過抓取網絡包來排查故障,發現是因為我在進行遠程連接的時候輸入的是IP地址,而不是計算機名(VISTA加入了域,XP未加域,而且XP的DNS與VISTA的不同,不在同一個網段),導致Kerberos驗證失敗。在HOST文件中加入域控和vista機器的域名解析,終於連接成功。
我對為什麼要輸入計算機名而不是IP大惑不解,因為我們通常都是用ip來連接目標主機的,工程師給出的答復是:
這也是kerberos驗證的特性決定的. 要進行kerberos的驗證, 要用到SPN (service principle name). 而 SPN都是用計算機名稱注冊的. 所以我們必須使用計算機名稱來連接Windows Vista, 而 不能使用IP地址. 雖然我不是很了解,但是這個問題算是結了。