Sql-Server

無法使用 kerberos 身份驗證連接到 MSSQL

  • July 22, 2021

我們有一個獨立的 SQL 伺服器

$$ Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64) $$我們希望使用 kerberos 身份驗證,以便通過連結伺服器查詢其他數據庫。我們已將 MSSQL 實例設置為使用 AD 服務帳戶執行,並為該帳戶提供對實例用於連接加密的 SSL 證書的私鑰的訪問權限。 重新啟動後,我在 ERRORLOG 中看到 MSSQL 能夠註冊適當的 SPN:

Server      The SQL Server Network Interface library successfully registered the Service Principal Name (SPN) [ MSSQLSvc/mssql-server.example.org ] for the SQL Server service.
Server      The SQL Server Network Interface library successfully registered the Service Principal Name (SPN) [ MSSQLSvc/mssql-server.example.org:1433 ] for the SQL Server service.

但是,當從與伺服器加入同一域的遠端 Windows 10 電腦連接時,使用 SSMS 中的 Windows 身份驗證

$$ v18.9.2 $$然後檢查auth_scheme我看到的:

/*------------------------
SELECT net_transport, auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SPID;
------------------------*/
net_transport                            auth_scheme
---------------------------------------- ----------------------------------------
TCP                                      NTLM

(1 row affected)

查看我在網上找到的文件,我相信我已經完成了完成這項工作所需的一切。有什麼我錯過的想法嗎?

我一直在另一台遠端機器上嘗試這個,並註意到它正確使用了 Kerberos,沒有任何問題。深入探勘,似乎有一些與此伺服器相關的 DNS 更改,我推測這可​​能導致/影響了這一點。回到通過 NTLM 連接的原始遠端電腦上,我執行ipconfig /flushdns,重新啟動 SSMS,然後使用 Kerberos 成功連接。

引用自:https://dba.stackexchange.com/questions/296040