【问题标题】:Connect to sql server via transitional computer issue, login failed for NT AUTHORITY\ANONYMOUS LOGON通过过渡计算机问题连接到 sql server,NT AUTHORITY\ANONYMOUS LOGON 登录失败
【发布时间】:2024-01-21 17:17:01
【问题描述】:

我有可以使用域用户凭据连接到的 SQL Server 2008。网络中有许多计算机,如果我以该域用户登录,我可以成功连接到 SQL Server(使用 Windows 身份验证)。

问题是当我使用 PowerShell 远程处理并建立从计算机 A 到计算机 B 的远程会话时。当我运行我们的 dbtool 尝试连接到 SqlServer(在远程会话中)“login failed for NT AUTHORITY\ANONYMOUS LOGON”错误发生。

这很奇怪,因为我在同一个域用户下建立了远程会话。为什么ANONYMOUS 被传递给 SqlServer?

感谢您的帮助

【问题讨论】:

  • 可能是 kerberos 双跳问题?
  • 是的,看起来是委派问题。我在 PowerShell 远程处理和访问另一台计算机上的文件共享方面遇到了类似的问题。我收到相当描述性的错误消息:“必须信任计算机才能进行委派,并且必须将当前用户帐户配置为允许委派”

标签: sql-server-2008 powershell connection powershell-remoting


【解决方案1】:

由于缺乏其他答案,我再次回答我自己的问题。

计算机通信链:A -> B -> C

所以问题确实在于 Kerberos 授权委托功能(更多信息:http://alt.pluralsight.com/wiki/default.aspx/Keith.GuideBook/WhatIsDelegation.html)。当我建立从计算机A 到计算机B 的远程会话时,计算机B 发送到计算机C null session(因为不接受委托)。这就是为什么计算机 C 上的 SQL Server 将我视为 NT AUTHORITY\ANONYMOUS LOGON

我当前的解决方法是从计算机A 与 SQL Server 通信(在此处复制必要的实用程序),因为我无法启用委派。对于这种情况,计算机A 将正确的授权令牌发送到计算机C

【讨论】:

    【解决方案2】:

    您是否尝试过启用 CredSSP(但 W2k3 不支持)?

    ## Client
    Enable-WSManCredSSP -Role Client -DelegateComputer "*.domain.com"
    
    ## Server
    Enable-WSManCredSSP -Role Server
    

    【讨论】:

    • 对我有用。请记住在设置 CSSP 设置后使用调用命令时包含 -Authentication CredSSP 参数。