Windows服务器pipe理器Kerberos错误0x80090322

我已经对这个问题感到沮丧了两天了,所以我最终决定在serverfault上询问这个问题。

我正在build立一个Windows实验室环境。 它有一个Win2012R2域控制器(srv001),我想添加另一台Win2012R2服务器到域(srv003)。 其实一切顺利 我给新的服务器一个静态的IP地址在DC的同一个子网,指向正确的DNS服务器,并将服务器添加到域。

但是,当我将新服务器添加到服务器pipe理器,我得到一个Kerberos错误:0x80090322。 我有一个相当长的错误信息,我会在下面发表。 我做了一些testing,发现我实际上能够使用Kerberos身份validation为服务器设置一个远程Powershell会话:

$s = New-PSSession -ComputerName srv003 -Authentication Kerberos $s | Enter-PSSession 

这里没有问题。 我在远程服务器上运行了Enable-PSRemoting ,在那里也没有问题。

为什么服务器pipe理器不喜欢我的新服务器? 尤其是因为可以使用服务器pipe理器所抱怨的相同协议来设置远程Powershell。


属于错误代码0x80090322的错误消息:

configuration刷新失败,出现以下错误:由于以下错误,元数据无法从服务器中检索:WinRM无法处理请求。 使用Kerberos身份validation时发生错误代码0x80090322的以下错误:发生未知的安全错误。 可能的原因是:

  1. 指定的用户名或密码无效。
  2. 当没有指定validation方法和用户名时,使用Kerberos。
  3. Kerberos接受域用户名,但不接受本地用户名。
  4. 远程计算机名称和端口的服务主体名称(SPN)不存在。
  5. 客户端和远程计算机处于不同的域,两个域之间没有信任。

检查上述问题后,请尝试以下操作:

  1. 检查与事件查看器相关的身份validation事件。
  2. 改变authentication方法; 将目标计算机添加到WinRM TrustedHostsconfiguration设置或使用HTTPS传输。 请注意,TrustedHosts列表中的计算机可能未经过身份validation。
  3. 有关WinRMconfiguration的更多信息,请运行以下命令:winrm help config。

要回到错误消息中编号的项目:

  1. 我使用域pipe理员帐户来执行此操作。
  2. 不知道如何改变这在服务器pipe理器,所以我想默认应该这样做。
  3. 我在域内运行,启动服务器pipe理器作为域pipe理员。
  4. 服务器实际上有以下SPN我没有碰过:
    1. DFSR-12F9A27C-BF97-4787-9364-D31B6C55EB04 / srv003.rwwilden01.local
    2. TERMSRV / SRV003
    3. TERMSRV / srv003.rwwilden01.local
    4. WSMAN / srv003
    5. WSMAN / srv003.rwwilden01.local
    6. RestrictedKrbHost / SRV003
    7. HOST / SRV003
    8. RestrictedKrbHost / srv003.rwwilden01.local
    9. HOST / srv003.rwwilden01.local
  5. 两台电脑都在同一个域中。
  6. 客户机上没有事件。
  7. 这不应该是必要的。

好吧,我终于明白了。 我再仔细看看远程服务器的事件日志。 它包含以下错误文本的错误:

Kerberos客户端 从服务器srv003 收到 KRB_AP_ERR_MODIFIED 错误。 目标名称是HTTP / srv003.rwwilden01.local。 这表明目标服务器无法解密客户端提供的票证。 当目标服务器主体名称(SPN)在目标服务正在使用的帐户以外的帐户上注册时,可能会发生这种情况。 确保目标SPN只在服务器使用的帐户上注册。 如果目标服务帐户密码与Kerberos密钥分发中心为该目标服务configuration的密码不同,也会发生此错误。 确保服务器和KDC上的服务都configuration为使用相同的密码。 如果服务器名称不完全合格,并且目标域(RWWILDEN01.LOCAL)与客户端域(RWWILDEN01.LOCAL)不同,请检查这两个域中是否有相同名称的服务器帐户,或使用完全限定的名称来识别服务器。

看来我在一个星期前通过SPN HTTP/srv003.rwwilden.local添加了一个托pipe服务帐户。 我不知道为什么服务器pipe理器首先尝试这个目标名称,但显然这是行不通的。 有意义的,因为这个SPN与实际的服务器没什么关系。

在我删除服务帐户后,一切开始按我的意图工作。

我不久前遇到了这个问题,我用“setspn”工具指向了罪魁祸首。 通过阅读本文,我对SPN有了更深入的了解: http : //support.microsoft.com/default.aspx? scid=kb;EN-US;929650

有相同的错误,并尝试了许多不同的解 帮助的是使用明确的IPv4地址,而不是域名。

我无法添加评论(新的工作,新的帐户,没有点)的职位,我想这样我回复。 使用IP帮助/解决问题的原因是因为使用IP时不使用Kerberos。 只有在使用FQDN(或NBT名称,但是这只是因为附加域名使fqdn反正)时才会尝试使用限制。 一般来说,大多数Kerberos错误是因为命名或SPN没有设置或设置正确的服务所需。 除非你closures了严格的名称检查,否则cnames不能工作,即使在某些情况下也不能工作,所以我build议你至less在诊断的时候远离它们。 但是老实说,把这种东西拿出来的最好方法就是使用Wireshark(因为Windows日志和Curb没有那么有用)。 你会看到谈判,你会看到为什么失败,试图什么等等。另外,如果你启用事件查看器中的“分析和debugging”日志,你会得到额外的debugging日志,你可以启用更有帮助。 还是… Wireshark永远是你的朋友!