Sql-Server
無法使用 kerberos 身份驗證連接到 MSSQL
我們有一個獨立的 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 成功連接。