SQL 服务器 ODBC 连接 Kerberos/AD 身份验证
SQL Server ODBC connection with Kerberos/AD Authentication
我有 SQL 服务器在我公司的网络上使用 Kerberos 身份验证。我正在尝试设置一个 Linux 系统,以便能够使用 pyodbc 访问该 SQL 服务器。我是 Kerberos 的新手,但已经能够让我的 Linux (Ubuntu 16.04) 盒子与 Kerberos 一起工作......至少这就是我的想法。我可以 kinit <username>
并且它可以识别我的用户名和密码。
接下来我该做什么?
如果我这样做:
sqlcmd -S MyDatabase.corp.com
我明白了:
sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : Cannot generate SSPI context.
Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : SSPI Provider: Cannot find KDC for realm "COMPANYNET.CORP.COM".
我很确定我只是没有做下一步,但我还没有找到一个好的来源来告诉我下一步该做什么。非常感谢任何帮助......谢谢!
在我公司的很多人都非常头疼和恼火之后,我终于让它工作了。
- 必须在域上设置服务帐户
- 必须获得 AD 管理员制作的 krb5.keytab 文件
- 必须在我的 /etc/krb5.conf 文件中使用正确的域设置 Kerberos
- 必须为目标 SQL 服务器设置 SPN(这似乎是上述错误消息的实际原因)
- 确保在 SQL 服务器上设置适当的权限设置服务帐户。
设置好后我可以做:
kinit -k <SERVICE ACCOUNT NAME>
sqlcmd -E -S MyDatabase.corp.com
我有 SQL 服务器在我公司的网络上使用 Kerberos 身份验证。我正在尝试设置一个 Linux 系统,以便能够使用 pyodbc 访问该 SQL 服务器。我是 Kerberos 的新手,但已经能够让我的 Linux (Ubuntu 16.04) 盒子与 Kerberos 一起工作......至少这就是我的想法。我可以 kinit <username>
并且它可以识别我的用户名和密码。
接下来我该做什么?
如果我这样做:
sqlcmd -S MyDatabase.corp.com
我明白了:
sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : Cannot generate SSPI context.
Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : SSPI Provider: Cannot find KDC for realm "COMPANYNET.CORP.COM".
我很确定我只是没有做下一步,但我还没有找到一个好的来源来告诉我下一步该做什么。非常感谢任何帮助......谢谢!
在我公司的很多人都非常头疼和恼火之后,我终于让它工作了。
- 必须在域上设置服务帐户
- 必须获得 AD 管理员制作的 krb5.keytab 文件
- 必须在我的 /etc/krb5.conf 文件中使用正确的域设置 Kerberos
- 必须为目标 SQL 服务器设置 SPN(这似乎是上述错误消息的实际原因)
- 确保在 SQL 服务器上设置适当的权限设置服务帐户。
设置好后我可以做:
kinit -k <SERVICE ACCOUNT NAME>
sqlcmd -E -S MyDatabase.corp.com