Итак, я пытаюсь подключиться к одному из наших SQL-серверов с машины RHEL Server 7.4, я уже установил kerberos, unixodbc и Microsoft ODBC для Linux.
SQL Server, к которому я пытаюсь подключиться, находится внутри домена Active Directory, я смог пройти аутентификацию через него, используя kinit
но все еще получаю SSPI Provider: Server not found in Kerberos database.
ошибка.
Это мой фрагмент с терминала:
[RH@localhost /]$ sudo kinit rh@ADS.LOCAL.COM
[sudo] password for RH:
Password for rh@ADS.LOCAL.COM:
[RH@localhost /]$ sqlcmd -E -S MyServer
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : SSPI Provider: Server not found in Kerberos database.
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : Cannot generate SSPI context.
Это мое /etc/krb5.conf
:
[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
forwardable = yes
default_realm = ADS.LOCAL.COM
default_ccache_name = KEYRING:persistent:%{uid}
dns_lookup_kdc = true
[domain_realm]
.ads.local.com = ADS.LOCAL.COM
Заранее спасибо!
что ты получил от
klist -k
выполняется как root? Если нечего видеть, значит, ваш сервер не присоединен к активному каталогу. В противном случае вы увидите записи вашего хоста для системы kerberos.
Обычно системы RHEL 7 настроены с использованием sssd в качестве центральной службы аутентификации. Убедитесь, что sssd установлен и запущен:
systemctl status sssd
Если нет, вы можете попробовать присоединиться снова с помощью
net ads join
В противном случае настройте sssd для присоединения к домену активного каталога с
realm join
Вы можете получить больше информации об этом здесь:
С уважением, Бьёрн
У меня была такая же проблема, но решение в моем случае заключалось в попытке использовать IP-адрес SQL Server, а не полное доменное имя. Использование полного доменного имени устраняет это сообщение об ошибке («Поставщик SSPI: сервер не найден в базе данных Kerberos») или включение: «ServerSPN = MSSQLSvc /:» в ODBC DSN.