簡體   English   中英

MSSQL Server SPN 連接:Linux 到 MSSQL Server(setspn、kinit、kerberos 身份驗證)

[英]MSSQL Server SPN Connections: Linux to MSSQL Server (setspn, kinit, kerberos authentication)

AD 管理員使用 setspn 工具添加 SQL 服務器 SPN 后,linux 服務器無法使用 SPN 使用 MS SQL 服務器 ODBC 驅動程序 18,錯誤為“[HY000] [Microsoft][ODBC Driver 18 for 881299228PIr5 ProvideSSPIr]615在 Kerberos 數據庫中找不到服務器”

我對一台服務器 (dev) 進行了基於 kerberos 的身份驗證,並且我正在嘗試對新服務器 (rel) 實施相同的連接設置。 要配置開發人員,我的 AD 管理員使用 SPN 設置工具設置服務器 SPN:

setspn -S MSSQLSvc/dev:dev_sql_port domain\dev_service_user

我們可以驗證 spn 是否已使用創建

setspn -Q MSSQLSvc/dev*

廣告域上有很多域控制器(大約 7 個,通過使用命令adcli info domain.org從 linux 服務器確定)。 起初我們無法使用 ODBC 連接到 dev,但幾個月后以下模式開始起作用:

kinit
Password for user@domain.org: ********

然后是使用連接字符串的連接:

Driver={ODBC Driver 18 for SQL Server};Server=dev;Trusted_Connection=yes;Encrypt=No;TrustServerCertificate=yes

AD 管理員使用 rel sql 服務器實例的正確信息,從 rel 的開發設置中復制了所有內容。 我可以使用以下內容為新服務器初始化 kerberos 票證:

kinit -S "MSSQLSvc\rel:rel_port"
Password for user@domain.org: ********

但是,python 模式:

cnxn_str = ("Driver={ODBC Driver 18 for SQL Server};Server=rel;Trusted_Connection=yes;Encrypt=No;TrustServerCertificate=yes")
cnxn = pyodbc.connect(cnxn_str)

給出錯誤:

Error: ('HY000', '[HY000] [Microsoft][ODBC Driver 18 for SQL Server]SSPI Provider: Server not found in Kerberos database (851968) (SQLDriverConnect)')

除了頂部部分之外,對 krb5.conf 配置的更改很小:

[libdefaults]
        default_realm = domain.org
        dns_lookup_realm = true
        dns_lookup_kdc = true

我可以聯系適當的管理員進行已研究的更改,但是,我們(我)有點不知所措,為什么 dev 可以工作,為什么 dev 需要幾個月的時間才能工作,以及為什么 rel 還不能工作。 我們對 rel 進行更改已經 2 周了。

為了解決這個問題,我們確定原始 rel setspn 語句中存在錯字,並且在setspn -L realm\rel_sql_service_account出了兩個錯誤端口,一個沒有端口。 我們使用了命令


setspn -D MSSQLSvc/rel.domain:wrong_port realm\rel_sql_service_account
setspn -D MSSQLSvc/rel.domain realm\rel_sql_service_account
setspn -S MSSQLSvc/rel.domain:right_port realm\rel_sql_service_account

這有可能是在與最初設置的服務器不同的 windows 服務器上通過命令 window 完成的。 仔細檢查都是一樣的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM