SQL Server ODBC与Kerberos / AD身份验证的连接

时间:2017-09-20 19:14:16

标签: sql-server odbc kerberos

我的SQL Server在我公司的网络上使用Kerberos身份验证。我正在尝试设置一个Linux系统,以便能够使用pyodbc访问该SQL Server。我是Kerberos的新手,但能够让我的Linux(Ubuntu 16.04)盒子与Kerberos一起使用...... Atleast就是我的想法。我可以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".

我很确定我不会做下一步但我找不到一个很好的消息来告诉我下一步该怎么做。非常感谢任何帮助...谢谢!

1 个答案:

答案 0 :(得分:0)

经过很多头痛并且在我公司很多人烦恼之后我终于开始工作了。

  1. 必须在域
  2. 上设置服务帐户
  3. 必须获取AD管理员制作的krb5.keytab文件
  4. 必须在/etc/krb5.conf文件中使用正确的域设置Kerberos
  5. 必须为目标SQL Server设置SPN(这似乎是上述错误消息的实际原因)
  6. 确保在SQL Server上设置适当的权限服务帐户。
  7. 一旦设定了以上,我就能做到:

    kinit -k <SERVICE ACCOUNT NAME>
    sqlcmd -E -S MyDatabase.corp.com