对Linux服务器下安装的MSSQL的窗口身份验证

时间:2018-10-25 02:52:32

标签: sql-server linux authentication window

这是我第一次尝试在linux服务器下设置mssql服务器。

这是我的错误

  

Sqlcmd:错误:SQL Server的Microsoft ODBC驱动程序17:登录失败。   该登录名来自不受信任的域,不能与   集成身份验证。

我可以使用“ sa”和密码登录

一旦我使用sqlcmd -E -S linuxsqlserversqlcmd -S linuxsqlserver,就会收到上述错误。

我按照链接中的2个指南

https://www.mssqltips.com/sqlservertip/5075/configure-sql-server-on-linux-to-use-windows-authentication/

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-active-directory-authentication?view=sql-server-2017

我当前的系统

  • Ubuntu 18.04
    • MSSQL
  • Windows Server 2016
    • AD

我所做的事情:

  1. 加入域(域名为Test1)

  2. 创建服务主体名称

    • setspn -a MSSQLSvc/linuxsqlserver.TEST1.COM:1433 sqllinux
  3. 为SQL Server服务创建密钥表文件

    • kinit sqllinux@TEST1.COM
    • kvno MSSQLSvc/linuxsqlserver.TEST1.COM:1433@TEST1.COM (returned 2)
    • sudo ktutil
    • addent -password -p MSSQLSvc/linuxsqlserver.Test1.COM:1433@Test1.COM -k 2 -e aes256-cts-hmac-sha1-96
    • addent -password -p MSSQLSvc/linuxsqlserver.Test1.COM:1433@Test1.COM -k 2 -e rc4-hmac
    • wkt /var/opt/mssql/secrets/mssql.keytab
    • 退出
  4. 为SQL Server设置Active Directory身份验证

    • /opt/mssql/bin/mssql-conf set network.kerberoskeytabfile /var/opt/mssql/secrets/mssql.keytab
    • systemctl restart mssql-server

谢谢。

0 个答案:

没有答案