SSPI 提供程序:在 Kerberos 数据库中找不到服务器
SSPI Provider: Server not found in Kerberos database
我正在尝试从 Ubuntu 20.04 客户端连接到位于 windows 服务器 2012R2 上的 MS SQL 服务器 2014。
Realm joins 和 Kinit 没问题。
# sudo realm discover org.internal --install=/
org.internal
type: kerberos
realm-name: ORG.INTERNAL
domain-name: org.internal
configured: kerberos-member
server-software: active-directory
client-software: sssd
required-package: sssd-tools
required-package: sssd
required-package: libnss-sss
required-package: libpam-sss
required-package: adcli
required-package: samba-common-bin
login-formats: %U@org.internal
login-policy: allow-realm-logins
# kinit -V user@ORG.INTERNAL
Using default cache: /tmp/krb5cc_0
Using principal: user@ORG.INTERNAL
Password for user@ORG.INTERNAL:
Authenticated to Kerberos v5
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: user@ORG.INTERNAL
Valid starting Expires Service principal
12/17/21 10:49:31 12/17/21 20:49:31 krbtgt/ORG.INTERNAL@ORG.INTERNAL
renew until 12/24/21 10:49:24
12/17/21 10:51:21 12/17/21 20:49:31 MSSQLSvc/ws2012r2:1433@ORG.INTERNAL
renew until 12/24/21 10:49:24
12/17/21 10:51:57 12/17/21 20:49:31 user@ORG.INTERNAL
renew until 12/24/21 10:49:24
12/17/21 10:52:30 12/17/21 20:49:31 MSSQLSvc/ws2012r2.org.internal:1433@ORG.INTERNAL
renew until 12/24/21 10:49:24
当我执行 sqlcmd 时,出现以下错误。请注意,如果我指定用户名和密码(sql 身份验证),它将起作用。
# sqlcmd -S 20.12.34.567
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : SSPI Provider: Server not found in Kerberos database.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Cannot generate SSPI context.
SPN is below
setspn -L user
Registered ServicePrincipalNames for CN=User ABC,CN=Users,DC=org,DC=internal:
MSSQLSvc/ws2012r2:1433
非常感谢任何帮助!
这里有一个问题,我确实生成了一个密钥表文件。但是,告诉 SQL Server 2014 on windows server 2012r2 使用 keytab 文件的命令是什么?
通过 IP 访问服务器将不允许基于 DNS 名称的 SPN 工作。具有 IP 地址的 SPN 未注册。使用服务器的域名。
我正在尝试从 Ubuntu 20.04 客户端连接到位于 windows 服务器 2012R2 上的 MS SQL 服务器 2014。
Realm joins 和 Kinit 没问题。
# sudo realm discover org.internal --install=/
org.internal
type: kerberos
realm-name: ORG.INTERNAL
domain-name: org.internal
configured: kerberos-member
server-software: active-directory
client-software: sssd
required-package: sssd-tools
required-package: sssd
required-package: libnss-sss
required-package: libpam-sss
required-package: adcli
required-package: samba-common-bin
login-formats: %U@org.internal
login-policy: allow-realm-logins
# kinit -V user@ORG.INTERNAL
Using default cache: /tmp/krb5cc_0
Using principal: user@ORG.INTERNAL
Password for user@ORG.INTERNAL:
Authenticated to Kerberos v5
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: user@ORG.INTERNAL
Valid starting Expires Service principal
12/17/21 10:49:31 12/17/21 20:49:31 krbtgt/ORG.INTERNAL@ORG.INTERNAL
renew until 12/24/21 10:49:24
12/17/21 10:51:21 12/17/21 20:49:31 MSSQLSvc/ws2012r2:1433@ORG.INTERNAL
renew until 12/24/21 10:49:24
12/17/21 10:51:57 12/17/21 20:49:31 user@ORG.INTERNAL
renew until 12/24/21 10:49:24
12/17/21 10:52:30 12/17/21 20:49:31 MSSQLSvc/ws2012r2.org.internal:1433@ORG.INTERNAL
renew until 12/24/21 10:49:24
当我执行 sqlcmd 时,出现以下错误。请注意,如果我指定用户名和密码(sql 身份验证),它将起作用。
# sqlcmd -S 20.12.34.567
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : SSPI Provider: Server not found in Kerberos database.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Cannot generate SSPI context.
SPN is below
setspn -L user
Registered ServicePrincipalNames for CN=User ABC,CN=Users,DC=org,DC=internal:
MSSQLSvc/ws2012r2:1433
非常感谢任何帮助!
这里有一个问题,我确实生成了一个密钥表文件。但是,告诉 SQL Server 2014 on windows server 2012r2 使用 keytab 文件的命令是什么?
通过 IP 访问服务器将不允许基于 DNS 名称的 SPN 工作。具有 IP 地址的 SPN 未注册。使用服务器的域名。