WEB开发网
开发学院操作系统Windows XP 将XPSP3"扮成"Vista 支持网络身份验证 阅读

将XPSP3"扮成"Vista 支持网络身份验证

 2008-09-17 09:56:57 来源:WEB开发网   
核心提示:本人在公司使用两台机器机器,一台700MHZ的老机器,将XPSP3"扮成"Vista 支持网络身份验证,装了Windows XP,一台Windows Vista SP1, 要进行kerberos的验证, 要用到SPN (service principle name),而 SPN都是用计算机名称注册的

本人在公司使用两台机器机器,一台700MHZ的老机器,装了Windows XP。一台Windows Vista SP1。不巧,Windows XP出了故障,一登录系统就蓝屏,安全模式也如此。个人认为安全模式也如此,不如重装的解决问题的彻底。故而给机器安装上了Windows XP集成了SP3。

SP3下载地址:http://down.ddvip.com/view/120952757619329.html

SP3补丁包将XP的远程桌面更新到了V6.1。查看相关网页,可了解到6.0以上版本的远程桌面是支持NLA(Network Level Authentication )的。就是在用户进行远程桌面之前就进行身份验证,而不是连接之后再在登录的时候进行身份验证。

而Vista默认是“只允许运行带网络身份验证的远程计算机连接”。所以,默认情况下,XP系统是不支持网络身份验证的。

将XPSP3"扮成"Vista 支持网络身份验证

Vista SP1系统设置远程登录

网上流传解决办法是:设置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_MACHINESYSTEMCurrentControlSetControlLsa

3.在详细信息窗格中, 用鼠标右键单击SecurityProviders ,然后单击 修改。

4.在 数值数据 框,键入 tspkg 。 留下特定于其他 SSP,任何数据,然后单击 确定。

5.in navigation pane,locate and then click following registry subkey: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProviders

6.in details pane,right-click SecurityProviders,and then click Modify。

7.在 数值数据 框,键入 credssp.dll。留下特定于其他 SSP,任何数据,然后单击“确定”。

8.exit Registry Editor。

9.请重新启动计算机。.

将XPSP3"扮成"Vista 支持网络身份验证

在XP的远程桌面中看到支持网络级身份验证。

将XPSP3"扮成"Vista 支持网络身份验证

图 输入vista 主机的IP提示要求身份验证

很不幸,发生身份验证错误:发生身份验证错误(代码:0x80090303)

再次向微软工程师,工程师也不知具体原因何在,但是提供了一些排错方法,最后是通过抓取网络包来排查故障,发现是因为在进行远程连接的时候输入的是IP地址,而不是计算机名(VISTA加入了域,XP未加域,而且XP的DNS与VISTA的不同,不在同一个网段),导致Kerberos验证失败。在HOST文件中加入域控和vista机器的域名解析,终于连接成功。

而笔者本人对为什么要输入计算机名而不是IP大惑不解,因为我们通常都是用ip来连接目标主机的,工程师给出的答复是:

这也是kerberos验证的特性决定的。 要进行kerberos的验证, 要用到SPN (service principle name)。而 SPN都是用计算机名称注册的, 所以我们必须使用计算机名称来连接Windows Vista, 而 不能使用IP地址。

Tags:XPSP quot 扮成

编辑录入:爽爽 [复制链接] [打 印]
    赞助商链接