远程桌面连接:发生身份验证错误(代码: 0x80090303)

日期: 2019-02-08 20:51:19 人气: - 评论: 0

  远程桌面连接
  ---------------------------
  发生身份验证错误(代码: 0x80090303)。
  远程计算机: 192.168.18.8
  ---------------------------
  确定
  ---------------------------
  我就将2008做了域控服务器,难道是这个原因?去微软查了下,说是加入域控后,不能再通过IP连接,而需要通过主机名连接。。。
  解析出对应的用户名:WIN-QVMF8DBW0R9
  直接 mstsc 上去 成功!
  问题:
  未加域黄静下,通过修改注册表实现了XPSP3远程桌面连接2012的问题。加域后,再次连接,报发生身份验证错误(代码: 0x80090303)。
  解决方法:
  加域后,不能再通过IP连接,而需要通过主机名连接。
  SP3有一点,就是远程桌面更新到了V6.1。查看了相关网页,了解到6.0以上版本的远程桌面是支持NLA(Network Level Authentication )的。NLA说白了就是在你进行远程桌面之前就进行身份验证,而不是你连上之后再在登陆的时候进行身份验证。而Vista 默认是“只允许运行带网络身份验证的远程计算机连接”。于是乎,我从SP3连Vista失败。
  远程桌面连接:发生身份验证错误(代码: <wbr>0x80090303)。
  网上解决办法是:设置vista的远程桌面连接方式为“允许任意版本远程桌面连接”。这种降级来适应XP,我以为是一种倒退,不然将XP 的远程桌面升级到6.1没有任何意义啊。故而在合作伙伴新闻组中发帖询问微软工程师:
  微软工程师起初的答复是XP不支持NLA。后来纠正说SP3支持NLA,并告诉我按照以下方法操作使XP支持NLA。他给我我一片KB
  开启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的远程桌面中看到了支持网络级身份验证。
  远程桌面连接:发生身份验证错误(代码: <wbr>0x80090303)。
  输入vista 主机的IP,哎,有了,要求身份验证:
  远程桌面连接:发生身份验证错误(代码: <wbr>0x80090303)。
  很不幸,发生身份验证错误:发生身份验证错误(代码:0x80090303)
  再次向微软工程师,工程师也不知道具体所在,但是提供了一些排错方法,最后是通过抓取网络包来排查故障,发现是因为我在进行远程连接的时候输入的是IP地址,而不是计算机名(VISTA加入了域,XP未加域,而且XP的DNS与VISTA的不同,不在同一个网段),导致Kerberos验证失败。在HOST文件中加入域控和vista机器的域名解析,终于连接成功。
  我对为什么要输入计算机名而不是IP大惑不解,因为我们通常都是用ip来连接目标主机的,工程师给出的答复是:
  这也是kerberos验证的特性决定的. 要进行kerberos的验证, 要用到SPN (service principle name). 而 SPN都是用计算机名称注册的. 所以我们必须使用计算机名称来连接Windows Vista, 而 不能使用IP地址. 虽然我不是很了解,但是这个问题算是结了。