使用 Kerberos 身份验证时未知的用户名或错误的密码
Unknown user name or bad password when using Kerberos authentication
我已经在 Windows Server 2012 机器上安装了 Exchange Server 2013。
当我尝试建立远程 PowerShell 连接时,使用带有 Kerberos 身份验证的命令:
$exchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://servername/powershell" -Credential $credential -Authentication "Kerberos"
我收到以下错误:
New-PSSession : [servername] Connecting to remote server servername failed with the following error message : Logon failure: unknown user name or bad password. For more information, see the about_Remote_Troubleshooting Help topic.
At line:1 char:20
+ $exchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -Connecti ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotingTransportException
+ FullyQualifiedErrorId : LogonFailure,PSSessionOpenFailed
但是,如果我尝试使用基本身份验证,则会成功建立连接。
$exchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://servername/powershell" -Credential $credential -Authentication "Basic"
谁能告诉我为什么会出现这个错误,以及解决这个问题的方法。
这听起来很像是您没有为要连接的目标计算机正确配置 SPN。
您可以使用 setspn 命令 (https://technet.microsoft.com/en-gb/library/cc731241.aspx) 检查重复项或设置适当的命令以允许 Kerberos 身份验证。
很遗憾,您的 post 中没有足够的信息来告诉您正确的 SPN 是什么以及应该在哪个帐户上设置它。
这也是解释为 powershell 远程处理(包括使用 Kerberos)设置计算机的一个很好的来源 (http://www.ravichaganti.com/blog/wp-content/uploads/2010/12/A%20layman's%20guide%20to%20PowerShell%202.0%20remoting-v2.pdf)
在我的例子中,事实证明,我试图从中启动远程 Powershell 会话的系统与安装我的交换服务器的工作组位于不同的工作组(windows 域)。
在 Kerberos 中,我们无法跨域建立此类连接。
Kerberos 总体来说虽然更安全但有点痛苦,因为它具有多点检查,实际上也可能导致多点故障,除非配置正确。时间同步、域、spn 等
此网站可能 interest/help 供将来面临类似问题的人参考:
http://anexinetisg.blogspot.in/2013/07/kerberosslaying-dragon-in-exchange.html
我已经在 Windows Server 2012 机器上安装了 Exchange Server 2013。
当我尝试建立远程 PowerShell 连接时,使用带有 Kerberos 身份验证的命令:
$exchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://servername/powershell" -Credential $credential -Authentication "Kerberos"
我收到以下错误:
New-PSSession : [servername] Connecting to remote server servername failed with the following error message : Logon failure: unknown user name or bad password. For more information, see the about_Remote_Troubleshooting Help topic.
At line:1 char:20
+ $exchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -Connecti ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotingTransportException
+ FullyQualifiedErrorId : LogonFailure,PSSessionOpenFailed
但是,如果我尝试使用基本身份验证,则会成功建立连接。
$exchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://servername/powershell" -Credential $credential -Authentication "Basic"
谁能告诉我为什么会出现这个错误,以及解决这个问题的方法。
这听起来很像是您没有为要连接的目标计算机正确配置 SPN。
您可以使用 setspn 命令 (https://technet.microsoft.com/en-gb/library/cc731241.aspx) 检查重复项或设置适当的命令以允许 Kerberos 身份验证。
很遗憾,您的 post 中没有足够的信息来告诉您正确的 SPN 是什么以及应该在哪个帐户上设置它。
这也是解释为 powershell 远程处理(包括使用 Kerberos)设置计算机的一个很好的来源 (http://www.ravichaganti.com/blog/wp-content/uploads/2010/12/A%20layman's%20guide%20to%20PowerShell%202.0%20remoting-v2.pdf)
在我的例子中,事实证明,我试图从中启动远程 Powershell 会话的系统与安装我的交换服务器的工作组位于不同的工作组(windows 域)。
在 Kerberos 中,我们无法跨域建立此类连接。
Kerberos 总体来说虽然更安全但有点痛苦,因为它具有多点检查,实际上也可能导致多点故障,除非配置正确。时间同步、域、spn 等
此网站可能 interest/help 供将来面临类似问题的人参考: http://anexinetisg.blogspot.in/2013/07/kerberosslaying-dragon-in-exchange.html