Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:Program SQL Server w systemie Linux
Ten artykuł ułatwia rozwiązywanie problemów z uwierzytelnianiem usług Active Directory Domain Services w programie SQL Server w systemie Linux i kontenerach. Zawiera on testy wymagań wstępnych i porady dotyczące pomyślnej konfiguracji usługi Active Directory oraz listę typowych błędów i kroków rozwiązywania problemów.
Weryfikowanie bieżącej konfiguracji
Zanim zaczniesz rozwiązywać problemy, zweryfikowaj aktualnego użytkownika, mssql.conf, nazwę podmiotu usługowego (SPN) oraz ustawienia realm.
Uzyskaj lub odnów bilet przyznający bilety (TGT) Kerberos za pomocą
kinit:kinit privilegeduser@CONTOSO.COMUruchom następujące polecenie i upewnij się, że użytkownik wykonujący je ma dostęp do :
mssql.keytab/opt/mssql/bin/mssql-conf validate-ad-config /var/opt/mssql/secrets/mssql.keytabAby uzyskać więcej informacji na temat polecenia
validate-ad-config, uruchom/opt/mssql/bin/mssql-conf validate-ad-config --help.
Wyszukiwania DNS i odwrotne wyszukiwania DNS
Wyszukiwania DNS w nazwie domeny i nazwie NetBIOS powinny zwrócić ten sam adres IP, który zwykle jest zgodny z adresem IP kontrolera domeny (DC). Uruchom te polecenia z maszyny hosta programu SQL Server.
nslookup contoso nslookup contoso.comJeśli adresy IP nie są zgodne, zobacz Dołączanie programu SQL Server na hoście z systemem Linux do domeny usługi Active Directory, aby naprawić odwołania DNS i komunikację z kontrolerem domeny.
Wykonaj odwrotne wyszukiwanie DNS (rDNS) dla każdego adresu IP na podstawie poprzednich wyników. Uwzględnij adresy IPv4 i IPv6, jeśli to możliwe.
nslookup <IPs returned from the above commands>Wszyscy powinni zwrócić
<hostname>.contoso.com. W przeciwnym razie sprawdź rekordy PTR w usłudze Active Directory.Może być konieczne współdziałanie z administratorem domeny w celu umożliwienia działania rDNS. Jeśli nie możesz dodać wpisów PTR dla wszystkich zwróconych adresów IP, możesz też ograniczyć SQL Server do podzbioru kontrolerów domeny. Ta zmiana ma wpływ na wszelkie inne usługi korzystające z
krb5.confna hoście.Aby uzyskać więcej informacji na temat odwrotnego systemu DNS, zobacz Co to jest odwrotny system DNS?
Sprawdź plik keytab i uprawnienia
Sprawdź, czy utworzyłeś plik keytab (tabela kluczy) i czy ustawiłeś użycie
mssql-confodpowiedniego pliku z odpowiednimi uprawnieniami. Keytab musi być dostępny dla konta użytkownikamssql. Aby uzyskać więcej informacji, zobacz Jak użyć adutil do konfiguracji uwierzytelniania Active Directory w SQL Server na Linux.Upewnij się, że możesz wyświetlić listę zawartości keytabu i że dodano poprawne SPN-y, port, typ szyfrowania i konto użytkownika. Jeśli nie wpiszesz haseł poprawnie podczas tworzenia SPN-ów i wpisów w zakładkach klawiszy, napotykasz błędy podczas próby logowania się za pomocą uwierzytelniania Active Directory.
klist -kte /var/opt/mssql/secrets/mssql.keytabPoniżej przedstawiono przykładowy działający keytab. W przykładzie użyto dwóch typów szyfrowania, ale można użyć tylko jednego lub kilku typów szyfrowania obsługiwanych w danym środowisku. W przykładzie
sqluser@CONTOSO.COMjest to uprzywilejowane konto (które odpowiadanetwork.privilegedadaccountustawieniu wmssql-conf). Plik keytab zawiera nazwy SPN dla krótkiej nazwy hosta na domyślnym porcie1433oraz dla w pełni kwalifikowanej nazwy domenowej (FQDN) na porcie niestandardowym5533. Każdy SPN z kwalifikatorem portu musi odpowiadać nazwie hosta i portowi używanym przez klientów do nawiązywania połączenia.$ kinit privilegeduser@CONTOSO.COM Password for privilegeduser@CONTOSO.COM: $ klist Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: privilegeduser@CONTOSO.COM Valid starting Expires Service principal 01/26/22 20:42:02 01/27/22 06:42:02 krbtgt/CONTOSO.COM@CONTOSO.COM renew until 01/27/22 20:41:57 $ klist -kte /var/opt/mssql/secrets/mssql.keytab Keytab name: FILE:/var/opt/mssql/secrets/mssql.keytab KVNO Timestamp Principal ---- ----------------- -------------------------------------------------------- 2 01/13/22 13:19:47 MSSQLSvc/sqllinux@CONTOSO.COM (aes256-cts-hmac-sha1-96) 2 01/13/22 13:19:47 MSSQLSvc/sqllinux@CONTOSO.COM (aes128-cts-hmac-sha1-96) 2 01/13/22 13:19:47 MSSQLSvc/sqllinux.contoso.com@CONTOSO.COM (aes256-cts-hmac-sha1-96) 2 01/13/22 13:19:47 MSSQLSvc/sqllinux.contoso.com@CONTOSO.COM (aes128-cts-hmac-sha1-96) 2 01/13/22 13:19:47 MSSQLSvc/sqllinux:1433@CONTOSO.COM (aes256-cts-hmac-sha1-96) 2 01/13/22 13:19:47 MSSQLSvc/sqllinux:1433@CONTOSO.COM (aes128-cts-hmac-sha1-96) 2 01/13/22 13:19:47 MSSQLSvc/sqllinux.contoso.com:5533@CONTOSO.COM (aes256-cts-hmac-sha1-96) 2 01/13/22 13:19:47 MSSQLSvc/sqllinux.contoso.com:5533@CONTOSO.COM (aes128-cts-hmac-sha1-96) 2 01/13/22 13:19:55 sqluser@CONTOSO.COM (aes256-cts-hmac-sha1-96) 2 01/13/22 13:19:55 sqluser@CONTOSO.COM (aes128-cts-hmac-sha1-96)
Zweryfikuj informacje o obszarze w krb5.conf
W
krb5.conf(znajdującym się w/etc/krb5.conf) sprawdź, czy podajesz wartości domyślnego obszaru, informacji o obszarze i domenie do mapowania obszaru. Przejrzyj poniższy przykładowykrb5.confplik. Aby uzyskać więcej informacji, zobacz Omówienie uwierzytelniania usługi Active Directory dla programu SQL Server w systemie Linux i kontenerach.[libdefaults] default_realm = CONTOSO.COM default_keytab_name = /var/opt/mssql/secrets/mssql.keytab default_ccache_name = "" [realms] CONTOSO.COM = { kdc = adVM.contoso.com admin_server = adVM.contoso.com default_domain = contoso.com } [domain_realm] .contoso.com = CONTOSO.COM contoso.com = CONTOSO.COMMożna ograniczyć program SQL Server do kontaktu z podzbiorem kontrolerów domeny, co jest przydatne, jeśli konfiguracja DNS zwraca więcej kontrolerów domeny niż program SQL Server musi się skontaktować. SQL Server on Linux pozwala określić listę kontrolerów domeny, z którymi SQL Server kontaktuje się w trybie round-robin podczas wyszukiwania Lightweight Directory Access Protocol (LDAP).
Wykonaj te dwa kroki. Najpierw zmodyfikuj
krb5.conf, dodając potrzebne kontrolery domeny i poprzedzając je prefiksemkdc =.[realms] CONTOSO.COM = { kdc = kdc1.contoso.com kdc = kdc2.contoso.com .. .. }Plik
krb5.confjest powszechnym konfiguracyjnym pliku klienta Kerberos, więc wszelkie zmiany wprowadzone w tym pliku dotyczą innych usług oprócz SQL Server. Przed wprowadzeniem jakichkolwiek zmian skonsultuj się ze swoim administratorem domeny.Włącz ustawienie
network.enablekdcfromkrb5confza pomocąmssql-conf, a następnie uruchom ponownie SQL Server:sudo /opt/mssql/bin/mssql-conf set network.enablekdcfromkrb5conf true sudo systemctl restart mssql-server
Rozwiązywanie problemów z protokołem Kerberos
Poniższe szczegóły pomogą Ci rozwiązywać problemy z uwierzytelnianiem Active Directory oraz identyfikować konkretne komunikaty o błędach.
Śledź Kerberos
Po utworzeniu użytkownika, SPN-ów i plików keytab oraz po skonfigurowaniu mssql-conf zweryfikuj konfigurację Active Directory.
Aby zweryfikować konfigurację SQL Server on Linux, użyj konta uprzywilejowanego do uzyskania lub odnowienia Kerberos TGT. Wykonaj to polecenie, aby wyświetlić komunikaty śledzenia Kerberosa w konsoli (stdout):
root@sqllinux mssql# KRB5_TRACE=/dev/stdout kinit -kt /var/opt/mssql/secrets/mssql.keytab sqluser
Jeśli nie ma żadnych problemów, powinny zostać wyświetlone dane wyjściowe podobne do poniższego przykładu. Jeśli nie, ślad daje kontekst dotyczący kroków, które należy przejrzeć.
3791545 1640722276.100275: Getting initial credentials for sqluser@CONTOSO.COM
3791545 1640722276.100276: Looked up etypes in keytab: aes256-cts, aes128-cts
3791545 1640722276.100278: Sending unauthenticated request
3791545 1640722276.100279: Sending request (202 bytes) to CONTOSO.COM
3791545 1640722276.100280: Initiating TCP connection to stream 10.0.0.4:88
3791545 1640722276.100281: Sending TCP request to stream 10.0.0.4:88
3791545 1640722276.100282: Received answer (185 bytes) from stream 10.0.0.4:88
3791545 1640722276.100283: Terminating TCP connection to stream 10.0.0.4:88
3791545 1640722276.100284: Response was from master KDC
3791545 1640722276.100285: Received error from KDC: -1765328359/Additional pre-authentication required
3791545 1640722276.100288: Preauthenticating using KDC method data
3791545 1640722276.100289: Processing preauth types: PA-PK-AS-REQ (16), PA-PK-AS-REP_OLD (15), PA-ETYPE-INFO2 (19), PA-ENC-TIMESTAMP (2)
3791545 1640722276.100290: Selected etype info: etype aes256-cts, salt "CONTOSO.COMsqluser", params ""
3791545 1640722276.100291: Retrieving sqluser@CONTOSO.COM from /var/opt/mssql/secrets/mssql.keytab (vno 0, enctype aes256-cts) with result: 0/Success
3791545 1640722276.100292: AS key obtained for encrypted timestamp: aes256-cts/E84B
3791545 1640722276.100294: Encrypted timestamp (for 1640722276.700930): plain 301AA011180F32303231313XXXXXXXXXXXXXXXXXXXXXXXXXXXXX, encrypted 333109B95898D1B4FC1837DAE3E4CBD33AF8XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
3791545 1640722276.100295: Preauth module encrypted_timestamp (2) (real) returned: 0/Success
3791545 1640722276.100296: Produced preauth for next request: PA-ENC-TIMESTAMP (2)
3791545 1640722276.100297: Sending request (282 bytes) to CONTOSO.COM
3791545 1640722276.100298: Initiating TCP connection to stream 10.0.0.4:88
3791545 1640722276.100299: Sending TCP request to stream 10.0.0.4:88
3791545 1640722276.100300: Received answer (1604 bytes) from stream 10.0.0.4:88
3791545 1640722276.100301: Terminating TCP connection to stream 10.0.0.4:88
3791545 1640722276.100302: Response was from master KDC
3791545 1640722276.100303: Processing preauth types: PA-ETYPE-INFO2 (19)
3791545 1640722276.100304: Selected etype info: etype aes256-cts, salt "CONTOSO.COMsqluser", params ""
3791545 1640722276.100305: Produced preauth for next request: (empty)
3791545 1640722276.100306: AS key determined by preauth: aes256-cts/E84B
3791545 1640722276.100307: Decrypted AS reply; session key is: aes256-cts/05C0
3791545 1640722276.100308: FAST negotiation: unavailable
3791545 1640722276.100309: Initializing KCM:0:37337 with default princ sqluser@CONTOSO.COM
3791545 1640722276.100310: Storing sqluser@CONTOSO.COM -> krbtgt/CONTOSO.COM@CONTOSO.COM in KCM:0:37337
3791545 1640722276.100311: Storing config in KCM:0:37337 for krbtgt/CONTOSO.COM@CONTOSO.COM: pa_type: 2
3791545 1640722276.100312: Storing sqluser@CONTOSO.COM -> krb5_ccache_conf_data/pa_type/krbtgt/CONTOSO.COM@CONTOSO.COM@X-CACHECONF: in KCM:0:37337
$ sudo klist
Ticket cache: KCM:0:37337
Default principal: sqluser@CONTOSO.COM
Valid starting Expires Service principal
12/28/2021 20:11:16 12/29/2021 06:11:16 krbtgt/CONTOSO.COM@CONTOSO.COM
renew until 01/04/2022 20:11:16
Włącz rejestrowanie protokołu Kerberos i rejestrowanie PAL oparte na zabezpieczeniach.
Aby zidentyfikować konkretne komunikaty o błędach w PAL (Platform Abstraction Layer), włącz security.kerberos i security.ldap logowanie. Utwórz plik logger.ini z następującą zawartością w lokalizacji /var/opt/mssql/, a następnie uruchom ponownie SQL Server, aby przechwycić wszelkie błędy inicjalizacji. Odtworzyć porażkę. PAL rejestruje błędy i komunikaty debugowania Active Directory do /var/opt/mssql/log/security.log.
[Output:security]
Type = File
Filename = /var/opt/mssql/log/security.log
[Logger]
Level = Silent
[Logger:security.kerberos]
Level = Debug
Outputs = security
[Logger:security.ldap]
Level = Debug
Outputs = security
SQL Server wykrywa zmiany w rejestratorze z logger.ini bez ponownego uruchamiania, ale awarie podczas inicjalizacji usługi Active Directory podczas uruchamiania programu SQL Server w przeciwnym razie nie są wykrywane. Restart SQL Server rejestruje wszystkie komunikaty o błędach.
Dziennik zabezpieczeń będzie nadal zapisywany na dysku, dopóki nie usuniesz zmian w logger.ini. Wyłącz rejestrowanie security.kerberos i security.ldap, gdy zidentyfikujesz i rozwiążesz problem, aby zapobiec wyczerpaniu miejsca na dysku.
Rejestrator PAL generuje pliki dziennika w następującym formacie:
<DATETIME> <Log level> [<logger>] <<process/thread identifier>> <message>
Na przykład przykładowy wiersz z dziennika jest następujący:
12/28/2021 13:56:31.609453055 Error [security.kerberos] <0003753757/0x00000324> Request ticket server MSSQLSvc/sql.contoso.com:1433@CONTOSO.COM kvno 3 enctype aes256-cts found in keytab but cannot decrypt ticket
Po włączeniu rejestrowania PAL i odtworzeniu problemu poszukaj pierwszego komunikatu z poziomem rejestrowania Error. Użyj poniższej tabeli, aby znaleźć błąd i postępować zgodnie z wytycznymi oraz zaleceniami, aby rozwiązać problem.
Typowe komunikaty o błędach
Komunikat o błędzie: "Logowanie nie powiodło się. Logowanie pochodzi z nieufnej domeny i nie można go używać z uwierzytelnianiem zintegrowanym"
Możliwa przyczyna
Pojawia się ten błąd, gdy próbujesz zalogować się kontem Active Directory po skonfigurowaniu uwierzytelniania Active Directory.
Guidance
Ten ogólny komunikat o błędzie wymaga aby włączyć rejestrowanie PAL w celu zidentyfikowania określonego błędu.
Zobacz poniższą listę typowych błędów, aby określić możliwą przyczynę każdego z nich, a następnie postępuj zgodnie z instrukcjami dotyczącymi rozwiązywania problemu.
Komunikat o błędzie: Nie znaleziono użytkownika lub grupy systemu Windows NT "CONTOSO\user"
Możliwa przyczyna
Ten błąd może wystąpić podczas próby utworzenia logowania systemu Windows lub podczas odświeżania grupy .
Guidance
Aby zweryfikować problem, postępuj zgodnie z wytycznymi "Logowanie się nie powiodło. Identyfikator logowania pochodzi z niezaufanej domeny i nie można go używać z uwierzytelnianiem zintegrowanym. (Microsoft SQL Server, Błąd: 18452)" oraz włącz logowanie PAL, aby zidentyfikować konkretny błąd i odpowiednio rozwiązać problem.
Komunikat o błędzie: "Nie można wyszukać krótkiej nazwy domeny z powodu błędu"
Możliwa przyczyna
Składnia Transact-SQL do utworzenia logowania do usługi Active Directory to:
CREATE LOGIN [CONTOSO\user]
FROM WINDOWS;
W poleceniu wymagana jest nazwa NetBIOS (CONTOSO), ale w backendzie podczas nawiązywania połączenia LDAP należy podać pełną kwalifikowaną nazwę domeny (contoso.com). Aby wykonać tę konwersję, wykonywane jest wyszukiwanie DNS na CONTOSO, aby rozpoznać adres IP kontrolera domeny, który następnie może być użyty do zapytań LDAP.
Guidance
Komunikat o błędzie „Nie udało się wyszukać krótkiej nazwy domeny z powodu błędu” sugeruje, że dla nslookup element contoso nie wskazuje adresu IP kontrolera domeny. Sprawdź wyszukiwania DNS i odwrotne wyszukiwania DNS, aby potwierdzić, że nslookup dla nazwy NetBIOS i nazwy domeny są zgodne.
Komunikaty o błędach: "Nie można wykonać wyszukiwania rDNS dla hosta <nazwa hosta> z powodu błędu" lub "Nazwa FQDN nie jest zwracana przez wyszukiwanie rDNS"
Możliwa przyczyna
Te komunikaty o błędach zazwyczaj wskazują, że rekordy odwróconego DNS (rekordy PTR) nie istnieją dla wszystkich kontrolerów domeny.
Guidance
Sprawdź dns i wsteczne wyszukiwania DNS. Po zidentyfikowaniu kontrolerów domeny, które nie mają wpisów rDNS, masz dwie opcje:
Dodaj wpisy rDNS dla wszystkich kontrolerów domeny
To ustawienie nie jest ustawieniem SQL Server i musisz je skonfigurować na poziomie domeny. Może być konieczna współpraca z zespołem administrującym domeną w celu utworzenia wymaganych rekordów PTR dla wszystkich kontrolerów domeny, które zwraca
nslookupdla nazwy domeny.ogranicz program SQL Server do podzbioru kontrolerów domeny
Jeśli nie możesz dodać rekordów PTR dla wszystkich zwróconych kontrolerów domeny, możesz ograniczyć SQL Server do podzbioru kontrolerów domeny.
Komunikat o błędzie: "Nie można powiązać z serwerem LDAP ldap://CONTOSO.COM:3268: Błąd lokalny"
Możliwa przyczyna
Ten ogólny błąd z openLDAP zwykle oznacza jedną z dwóch rzeczy:
- Brak poświadczeń
- Problemy z siecią rDNS
Oto przykład komunikatu o błędzie:
12/09/2021 14:32:11.319933684 Error [security.ldap] <0000000142/0x000001c0> Failed to bind to LDAP server ldap://[CONTOSO.COM:3268]: Local error
Guidance
Brak poświadczeń
Inne komunikaty o błędach pojawiają się jako pierwsze, jeśli dane uwierzytelniające nie są ładowane dla połączeń LDAP. Włącz logowanie PAL i sprawdź dziennik bezpieczeństwa pod kątem komunikatów o błędach przed tym zadaniem. Jeśli nie ma żadnych innych błędów, najprawdopodobniej nie występuje problem z poświadczeniami. Jeśli znajdziesz błąd, popraw go przed przejściem dalej. W większości przypadków jest to jeden z komunikatów o błędach, które omawia ten artykuł.
problemy z siecią rDNS
Sprawdź dns i wsteczne wyszukiwania DNS.
Gdy biblioteka OpenLDAP łączy się z kontrolerem domeny, podaje albo w pełni kwalifikowaną nazwę domenową (FQDN), która w tym przykładzie ma postać
contoso.com, albo FQDN kontrolera domeny (kdc1.contoso.com). Po nawiązaniu połączenia (ale przed zwróceniem sukcesu dzwoniącemu), biblioteka OpenLDAP sprawdza adres IP serwera, do którego się połączyła. Następnie wykonuje odwrotne wyszukiwanie DNS i sprawdza, czy nazwa serwera, do którego się połączyło (kdc1.contoso.com) zgadza się z żądaną domeną (contoso.com). Jeśli nie jest ona zgodna, biblioteka OpenLDAP zakończy połączenie jako funkcja zabezpieczeń. To niedopasowanie jest częścią powodu, dla którego ustawienia rDNS są ważne dla SQL Server on Linux i są tematem tego artykułu.
Komunikat o błędzie: "Nie znaleziono wpisu w tabeli z kluczami"
Możliwa przyczyna
Ten błąd wskazuje na problemy z dostępem do pliku keytab lub brak wpisów w pliku keytab.
Guidance
Upewnij się, że plik keytab ma prawidłowy poziom dostępu i uprawnienia. Domyślna lokalizacja i nazwa pliku keytab to /var/opt/mssql/secrets/mssql.keytab. Aby zobaczyć aktualne uprawnienia wszystkich plików w folderze secrets, wykonaj następujące polecenie:
sudo ls -lrt /var/opt/mssql/secrets
Użyj tych poleceń, aby ustawić uprawnienia i poziom dostępu w pliku keytab:
sudo chown mssql /var/opt/mssql/secrets/mssql.keytab
sudo chmod 440 /var/opt/mssql/secrets/mssql.keytab
Aby uzyskać więcej informacji na temat wyświetlania wpisów w pliku keytab i ustawiania odpowiednich uprawnień, zobacz poprzednią sekcję Sprawdź plik keytab i uprawnienia. Jeśli nie spełniasz żadnego z warunków w tej sekcji, zobaczysz ten błąd lub równoważny błąd: "Key table entry not found".
Komunikat o błędzie: "Nie znaleziono wpisu w tabeli kluczy dla głównego podmiotu <>"
Możliwa przyczyna
Gdy próbujesz pobrać poświadczenia dla <principal> z pliku keytab, nie znajdujesz żadnych pasujących wpisów.
Guidance
Aby wyświetlić listę wszystkich wpisów w pliku keytab, zobacz sekcję Sprawdź plik keytab i uprawnienia tego artykułu. Upewnij się, że <principal> jest obecny. W takim przypadku konto główne to zazwyczaj to, network.privilegedadaccount na które rejestrujesz SPN. Jeśli nie, dodaj to za pomocą polecenia adutil. Aby uzyskać więcej informacji, zobacz Jak użyć adutil do konfiguracji uwierzytelniania Active Directory w SQL Server na Linux.
Komunikat o błędzie: "Bilet żądania serwera <główna nazwa> nie został znaleziony w karcie kluczy (bilet kvno <KVNO>)"
Możliwa przyczyna
Ten błąd oznacza, że program SQL Server nie może znaleźć wpisu w pliku keytab dla żądanego biletu z określonym numerem wersji klucza (KVNO).
Guidance
Aby wyświetlić listę wszystkich wpisów w pliku keytab, zobacz sekcję Sprawdź plik keytab i uprawnienia tego artykułu. Jeśli nie możesz znaleźć komunikatu o błędzie pasującego do <principal> i KVNO, zaktualizuj plik keytab, aby dodać ten wpis, wykonując kroki opisane w tej sekcji.
Możesz również uruchomić następujące polecenie, aby uzyskać najnowszy numer KVNO z kontrolera domeny. Przed uruchomieniem tego polecenia uzyskaj lub odnów bilet TGT Kerberos za pomocą polecenia kinit. Aby uzyskać więcej informacji, zobacz , jak użyć adutil do utworzenia użytkownika Active Directory dla SQL Server i ustawienia nazwy głównej usługi (SPN).
kvno MSSQLSvc/<hostname>
Komunikat o błędzie: "Żądanie serwera biletów <podmiotu zabezpieczeń> kvno <KVNO> znalezione w keytab, ale nie z typem szyfrowania <typu szyfrowania>"
Możliwa przyczyna
Ten błąd oznacza, że zakładka kluczy SQL Server nie zawiera typu szyfrowania, którego żąda klient.
Guidance
Aby to zweryfikować, wykonaj czynności opisane w sekcji Sprawdzanie pliku keytab i uprawnień w tym artykule, aby wyświetlić wszystkie wpisy w pliku keytab. Jeśli nie możesz znaleźć komunikatu o błędzie pasującego do nazwy głównej, KVNO i typu szyfrowania, zaktualizuj plik keytab, aby dodać ten wpis, postępując zgodnie z instrukcjami w tej sekcji.
Komunikat o błędzie: "Serwer biletów <, podmiot>, kvno <, KVNO>, typ szyfrowania <, typ szyfrowania> znaleziony w keytab, ale nie można odszyfrować biletu"
Możliwa przyczyna
Ten komunikat o błędzie wskazuje, że SQL Server nie może użyć poświadczenia z pliku keytab do odszyfrowania nadchodzącego żądania uwierzytelnienia. Błędne hasło często powoduje ten błąd.
Guidance
Odtwórz plik keytab, używając poprawnego hasła. Jeśli używasz adutil, stwórz zakładkę klawiszy z odpowiednim hasłem i postępuj zgodnie z instrukcjami z Tutorial: Użyj adutil do skonfigurowania uwierzytelniania Active Directory z SQL Server on Linux.
Typowe porty
Ta tabela pokazuje typowe porty, których SQL Server on Linux używa do konfiguracji i zarządzania uwierzytelnianiem Active Directory.
| Usługa Active Directory | Port |
|---|---|
| DNS | 53 |
| LDAP | 389 |
| LDAPS | 636 |
| Kerberos | 88 |