但是,当我将新服务器添加到服务器管理器时,我收到Kerberos错误:0x80090322.我有一个很长的错误消息,我将在下面发布.我做了一些测试,发现我实际上能够使用Kerberos身份验证设置到服务器的远程Powershell会话:
$s = New-PSSession -ComputerName srv003 -Authentication Kerberos $s | Enter-PSSession
这里没问题.我在远程服务器上运行Enable-PSRemoting,也没有问题.
为什么服务器管理器不像我的新服务器?特别是因为可以使用服务器管理器抱怨的相同协议来设置远程Powershell.
配置刷新失败,并显示以下错误:由于以下错误,无法从服务器检索元数据:WinRM无法处理请求.使用Kerberos身份验证时出现以下错误,错误代码为0x80090322:发生未知的安全错误.可能的原因是:
>指定的用户名或密码无效.
>如果未指定身份验证方法和用户名,则使用Kerberos.
> Kerberos接受域用户名,但不接受本地用户名.
>远程计算机名称和端口的服务主体名称(SPN)不存在.
>客户端和远程计算机位于不同的域中,两个域之间没有信任.
检查上述问题后,请尝试以下操作:
>检查事件查看器以查找与身份验证相关的事件.
>更改身份验证方法;将目标计算机添加到WinRM TrustedHosts配置设置或使用HTTPS传输.请注意,TrustedHosts列表中的计算机可能未经过身份验证.
>有关WinRM配置的更多信息,请运行以下命令:winrm help config.
要返回错误消息中的编号项目:
>我使用域管理员帐户执行此操作.
>不确定如何在服务器管理器中更改此设置,因此我认为默认情况下应该这样做.
>我在域内运行,启动服务器管理器作为域管理员.
>服务器实际上有以下SPN,我还没有触及:
> Dfsr-12F9A27C-BF97-4787-9364-D31B6C55EB04 / srv003.rwwilden01.local
> TERMSRV / SRV003
> TERMSRV / srv003.rwwilden01.local
> WSMAN / srv003
> WSMAN / srv003.rwwilden01.local
> RestrictedKrbHost / SRV003
> HOST / SRV003
> RestrictedKrbHost / srv003.rwwilden01.local
> HOST / srv003.rwwilden01.local
>两台计算机都在同一个域中.
>客户端计算机上没有事件.
>没有必要这样做.
Kerberos客户端从服务器srv003收到KRB_AP_ERR_MODIFIED错误.使用的目标名称是HTTP / srv003.rwwilden01.local.这表示目标服务器无法解密客户端提供的票证.当目标服务器主体名称(SPN)在目标服务正在使用的帐户以外的帐户上注册时,可能会发生这种情况.确保目标SPN仅在服务器使用的帐户上注册.如果目标服务帐户密码与Kerberos密钥分发中心上为该目标服务配置的密码不同,也会发生此错误.确保服务器和KDC上的服务都配置为使用相同的密码.如果服务器名称不是完全限定的,并且目标域(RWWILDEN01.LOCAL)与客户端域(RWWILDEN01.LOCAL)不同,请检查这两个域中是否存在具有相同名称的服务器帐户,或使用完全限定名称识别服务器.
我似乎在一周前使用SPN HTTP / srv003.rwwilden.local添加了一个托管服务帐户.我不确定为什么服务器管理器首先尝试此目标名称,但显然这不起作用.这是有道理的,因为这个SPN与实际的服务器没什么关系.
删除服务帐户后,一切都按照我的意图开始工作.