Bagikan melalui


Memecahkan masalah autentikasi Direktori Aktif untuk SQL Server di Linux dan kontainer

Berlaku untuk: SQL Server - Linux

Artikel ini membantu Anda memecahkan masalah autentikasi Active Directory Domain Services dengan SQL Server di Linux dan kontainer. Ini termasuk pemeriksaan prasyarat dan tips untuk konfigurasi Direktori Aktif yang berhasil, dan daftar kesalahan umum dan langkah-langkah pemecahan masalah.

Memvalidasi konfigurasi saat ini

Sebelum memulai pemecahan masalah, Anda harus memvalidasi pengaturan pengguna saat ini, mssql.conf, Nama Prinsipal Layanan (SPN), dan realm.

  1. Dapatkan atau perbarui Kerberos TGT (tiket pemberian tiket) menggunakan kinit:

    kinit privilegeduser@CONTOSO.COM
    
  2. Jalankan perintah berikut, pastikan bahwa pengguna tempat Anda menjalankan perintah ini memiliki akses ke mssql.keytab:

    /opt/mssql/bin/mssql-conf validate-ad-config /var/opt/mssql/secrets/mssql.keytab
    

    Untuk informasi selengkapnya tentang validate-ad-config perintah, lihat perintah bantuan menggunakan /opt/mssql/bin/mssql-conf validate-ad-config --help .

Pencarian DNS dan reverse DNS

  1. Pencarian DNS pada nama domain dan nama NetBIOS harus mengembalikan alamat IP yang sama, yang biasanya cocok dengan alamat IP untuk pengendali domain (DC). Jalankan perintah ini dari komputer host SQL Server.

    nslookup contoso
    nslookup contoso.com
    

    Jika alamat IP tidak cocok, lihat Bergabung dengan SQL Server pada host Linux ke domain Direktori Aktif untuk memperbaiki pencarian DAN komunikasi DNS dengan DC.

  2. Lakukan pencarian REVERSE DNS (rDNS) untuk setiap alamat IP yang tercantum dalam hasil sebelumnya. Ini termasuk alamat IPv4 dan IPv6 jika berlaku.

    nslookup <IPs returned from the above commands>
    

    Semua harus mengembalikan <hostname>.contoso.com. Jika bukan itu masalahnya, periksa rekaman PTR (pointer) yang dibuat di Direktori Aktif.

    Anda mungkin harus bekerja dengan administrator domain Anda agar rDNS berfungsi. Jika Anda tidak dapat menambahkan entri PTR untuk semua alamat IP yang dikembalikan, Anda juga dapat membatasi SQL Server ke subset pengendali domain. Perubahan ini memengaruhi layanan lain yang menggunakan krb5.conf pada host.

    Untuk informasi selengkapnya tentang REVERSE DNS, lihat Apa itu REVERSE DNS?

Periksa file dan izin keytab

  1. Periksa apakah Anda telah membuat file keytab (tabel kunci), dan bahwa mssql-conf dikonfigurasi untuk menggunakan file yang benar dengan izin yang sesuai. Keytab harus dapat diakses oleh mssql akun pengguna. Untuk informasi selengkapnya, lihat Menggunakan adutil untuk mengonfigurasi autentikasi Direktori Aktif dengan SQL Server di Linux.

  2. Pastikan Anda dapat mencantumkan konten keytab, dan Anda telah menambahkan SPN, port, jenis enkripsi, dan akun pengguna yang benar. Jika Anda tidak mengetik kata sandi dengan benar saat membuat SPN dan entri keytab, Anda akan mengalami kesalahan saat mencoba masuk menggunakan autentikasi Direktori Aktif.

    klist -kte /var/opt/mssql/secrets/mssql.keytab
    

    Contoh keytab yang berfungsi mengikuti. Contohnya menggunakan dua jenis enkripsi, tetapi Anda hanya dapat menggunakan satu atau beberapa jenis enkripsi yang didukung di lingkungan Anda. Dalam contoh, sqluser@CONTOSO.COM adalah akun istimewa (yang cocok dengan pengaturan network.privilegedadaccount di mssql-conf), dan nama host untuk SQL Server sqllinux.contoso.com mendengarkan port default 1433.

    $ 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 mssql.keytab
    Keytab name: FILE: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)
    

Memvalidasi informasi realm di krb5.conf

  1. Di krb5.conf (terletak di /etc/krb5.conf), periksa apakah Anda telah memberikan nilai untuk realm default, informasi realm, dan domain ke pemetaan realm. Contoh berikut adalah file sampel krb5.conf . Untuk informasi selengkapnya, lihat Memahami autentikasi Direktori Aktif untuk SQL Server di Linux dan kontainer.

    [libdefaults]
    default_realm = CONTOSO.COM
    
    [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.COM
    
  2. Anda dapat membatasi SQL Server untuk menghubungi subset pengendali domain, yang berguna jika konfigurasi DNS Anda mengembalikan lebih banyak pengontrol domain daripada yang perlu dihubungi SQL Server. SQL Server di Linux memungkinkan Anda menentukan daftar pengendali domain yang dihubungi SQL Server dengan cara round-robin saat melakukan pencarian LDAP.

    Ada dua langkah yang perlu Anda selesaikan. Pertama, ubah krb5.conf dengan menambahkan sejumlah pengendali domain yang Anda butuhkan, diawali dengan kdc =.

    [realms]
    CONTOSO.COM = {
      kdc = kdc1.contoso.com
      kdc = kdc2.contoso.com
      ..
      ..
    }
    

    Perlu diingat bahwa krb5.conf adalah file konfigurasi klien Kerberos umum, sehingga setiap perubahan yang Anda buat dalam file ini akan memengaruhi layanan lain selain SQL Server. Sebelum membuat perubahan apa pun, konsultasikan dengan administrator domain Anda.

    Anda kemudian dapat mengaktifkan pengaturan network.enablekdcfromkrb5conf menggunakan mssql-conf, lalu memulai ulang SQL Server:

    sudo /opt/mssql/bin/mssql-conf set network.enablekdcfromkrb5conf true
    sudo systemctl restart mssql-server
    

Memecahkan masalah Kerberos

Lihat detail berikut untuk membantu Anda memecahkan masalah autentikasi Direktori Aktif dan mengidentifikasi pesan kesalahan tertentu.

Lacak Kerberos

Setelah Anda membuat pengguna, SPN, dan keytabs, dan mengonfigurasi mssql-conf untuk melihat bahwa konfigurasi Direktori Aktif untuk SQL Server di Linux sudah benar, Anda dapat menampilkan pesan pelacakan Kerberos ke konsol (stdout) saat mencoba mendapatkan atau memperbarui Kerberos TGT dengan akun istimewa, menggunakan perintah ini:

root@sqllinux mssql# KRB5_TRACE=/dev/stdout kinit -kt /var/opt/mssql/secrets/mssql.keytab sqluser

Jika tidak ada masalah, Anda akan melihat output yang mirip dengan sampel berikut. Jika tidak, jejak menyediakan konteks tentang langkah-langkah mana yang harus Anda tinjau.

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

Mengaktifkan Kerberos dan pengelogan PAL berbasis keamanan

Anda dapat mengaktifkan security.kerberos dan security.ldap mencatat untuk mengidentifikasi pesan kesalahan tertentu di PAL (Lapisan Abstraksi Platform). Buat logger.ini file dengan konten berikut di /var/opt/mssql/, mulai ulang SQL Server, lalu reproduksi kegagalan. Kesalahan Direktori Aktif PAL dan pesan debug akan dicatat ke /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

Anda tidak perlu menghidupkan ulang SQL Server agar perubahan pencatat diambil dari logger.ini, tetapi kegagalan dapat terjadi selama inisialisasi layanan Direktori Aktif selama startup SQL Server yang jika tidak diperhatikan. Memulai ulang SQL Server memastikan semua pesan kesalahan diambil.

Log keamanan terus menulis ke drive sampai Anda menghapus perubahan di logger.ini. Ingatlah untuk menonaktifkan security.kerberos dan security.ldap mencatat setelah Anda mengidentifikasi dan menyelesaikan masalah untuk mencegah kehabisan ruang pada drive.

Pencatat PAL menghasilkan file log dalam format berikut:

<DATETIME> <Log level> [<logger>] <<process/thread identifier>> <message>

Misalnya, baris sampel dari log mengikuti:

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

Setelah pengelogan PAL diaktifkan dan Anda mereproduksi masalah, cari pesan pertama dengan tingkat Errorlog , lalu gunakan tabel berikut untuk menemukan kesalahan dan ikuti panduan dan rekomendasi untuk memecahkan masalah dan menyelesaikan masalah.

Pesan kesalahan umum

Pesan kesalahan: "Gagal masuk. Login berasal dari domain yang tidak tepercaya dan tidak dapat digunakan dengan autentikasi Terintegrasi."

Kemungkinan penyebab

Kesalahan ini ditemui saat Anda mencoba masuk menggunakan akun Direktori Aktif, setelah Anda mengonfigurasi autentikasi Direktori Aktif.

Panduan

Ini adalah pesan kesalahan umum, dan Anda harus mengaktifkan pengelogan PAL untuk mengidentifikasi pesan kesalahan tertentu.

Anda dapat merujuk ke daftar kesalahan umum ini untuk mengidentifikasi kemungkinan penyebab setiap kesalahan, lalu ikuti panduan pemecahan masalah untuk mengatasi masalah tersebut.

Pesan kesalahan
Pengguna atau grup Windows NT 'CONTOSO\user' tidak ditemukan
Tidak dapat mencari nama domain pendek karena kesalahan
Tidak dapat melakukan pencarian rDNS untuk <nama> host karena kesalahan
FQDN tidak dikembalikan oleh pencarian rDNS
Gagal mengikat ke server LDAP
Entri tabel kunci tidak ditemukan
Tidak ada entri tabel kunci yang ditemukan untuk <prinsipal>
Permintaan prinsipal> server <tiket tidak ditemukan di keytab (tiket kvno <KVNO>)
Permintaan perwakilan> server <tiket kvno <KVNO> ditemukan di keytab tetapi tidak dengan jenis enkripsi enctype <>
Meminta perwakilan> server <tiket kvno <KVNO> jenis> enkripsi enctype <yang ditemukan di keytab tetapi tidak dapat mendekripsi tiket

Pesan kesalahan: Pengguna atau grup Windows NT 'CONTOSO\user' tidak ditemukan

Kemungkinan penyebab

Anda mungkin mengalami kesalahan ini ketika mencoba membuat log masuk Windows, atau selama refresh grup.

Panduan

Untuk memvalidasi masalah, ikuti panduan seperti yang didokumenkan untuk "Gagal masuk. Login berasal dari domain yang tidak tepercaya dan tidak dapat digunakan dengan autentikasi Terintegrasi. (Microsoft SQL Server, Kesalahan: 18452)" memungkinkan pengelogan PAL untuk mengidentifikasi kesalahan tertentu, dan memecahkan masalah yang sesuai.

Pesan kesalahan: "Tidak dapat mencari nama domain pendek karena kesalahan"

Kemungkinan penyebab

Sintaks Transact-SQL untuk membuat login Direktori Aktif adalah:

CREATE LOGIN [CONTOSO\user] FROM WINDOWS;

Nama NetBIOS (CONTOSO) diperlukan dalam perintah, tetapi di backend saat melakukan koneksi LDAP, FQDN domain (contoso.com) harus disediakan. Untuk melakukan konversi ini, pencarian DNS dilakukan CONTOSO untuk mengatasi IP pengendali domain, yang kemudian dapat diikat untuk kueri LDAP.

Panduan

Pesan kesalahan "Tidak dapat mencari nama domain pendek karena kesalahan" menunjukkan bahwa nslookup contoso untuk tidak mengatasi alamat IP pengendali domain. Anda harus meninjau DNS dan membalikkan pencarian DNS untuk mengonfirmasi bahwa nslookup untuk NetBIOS dan nama domain harus cocok.

Pesan kesalahan: "Tidak dapat melakukan pencarian rDNS untuk <nama> host karena kesalahan" atau "FQDN tidak dikembalikan oleh pencarian rDNS"

Kemungkinan penyebab

Pesan kesalahan ini sebagian besar menunjukkan bahwa rekaman DNS terbalik (catatan PTR) tidak ada untuk semua pengontrol domain.

Panduan

Periksa dns dan reverse DNS lookups. Setelah pengontrol domain yang tidak memiliki entri rDNS diidentifikasi, ada dua opsi:

  • Menambahkan entri rDNS untuk semua pengendali domain

    Ini bukan pengaturan SQL Server, dan harus dikonfigurasi di tingkat domain. Anda mungkin harus bekerja dengan tim administrasi domain Anda untuk membuat catatan PTR yang diperlukan untuk semua pengontrol domain yang dikembalikan saat berjalan nslookup pada nama domain.

  • Membatasi SQL Server ke subset pengendali domain

    Jika menambahkan catatan PTR tidak dimungkinkan untuk semua pengontrol domain yang dikembalikan, Anda dapat membatasi SQL Server ke subset pengendali domain.

Pesan kesalahan: "Gagal mengikat ke server LDAP ldap://CONTOSO.COM:3268: Kesalahan Lokal"

Kemungkinan penyebab

Ini adalah kesalahan umum dari OpenLDAP, tetapi biasanya berarti salah satu dari dua hal:

  • Tidak ada kredensial
  • masalah rDNS

Berikut adalah salah satu contoh pesan kesalahan tersebut:

12/09/2021 14:32:11.319933684 Error [security.ldap] <0000000142/0x000001c0> Failed to bind to LDAP server ldap://[CONTOSO.COM:3268]: Local error

Panduan

  • Tidak ada kredensial

    Pesan kesalahan lainnya dilemparkan terlebih dahulu jika kredensial tidak akan dimuat untuk koneksi LDAP. Anda harus mengaktifkan pengelogan PAL dan memeriksa log kesalahan untuk pesan kesalahan sebelum yang satu ini. Jika tidak ada kesalahan lain, kemungkinan besar itu bukan masalah kredensial. Jika ditemukan, maka bekerjalah untuk memperbaiki pesan kesalahan yang Anda lihat. Dalam kebanyakan kasus, itu akan menjadi salah satu pesan kesalahan yang tercakup dalam artikel ini.

  • masalah rDNS

    Periksa dns dan reverse DNS lookups.

    Saat pustaka OpenLDAP tersambung ke pengontrol domain, baik FQDN domain (contoso.com) atau FQDN DC (kdc1.contoso.com) disediakan. Setelah koneksi dibuat (tetapi sebelum mengembalikan keberhasilan ke pemanggil), pustaka OpenLDAP memeriksa IP server yang tersambung dengannya. Kemudian akan melakukan pencarian DNS terbalik dan memeriksa apakah nama server yang tersambung ke (kdc1.contoso.com) cocok dengan domain yang diminta koneksi (contoso.com). Jika ini tidak cocok, pustaka OpenLDAP gagal koneksi sebagai fitur keamanan. Ini adalah bagian dari mengapa pengaturan rDNS sangat penting untuk SQL Server di Linux dan telah fokus untuk dokumentasi ini.

Pesan kesalahan: "Entri tabel kunci tidak ditemukan"

Kemungkinan penyebab

Kesalahan ini menunjukkan masalah akses dengan file keytab, atau tidak memiliki semua entri yang diperlukan dalam keytab.

Panduan

Pastikan file keytab memiliki tingkat akses dan izin yang benar. Lokasi default dan nama untuk file keytab adalah /var/opt/mssql/secrets/mssql.keytab. Untuk melihat izin saat ini pada semua file di bawah folder rahasia, Anda dapat menjalankan perintah ini:

sudo ls -lrt /var/opt/mssql/secrets

Anda dapat menggunakan perintah ini untuk mengatur izin dan tingkat akses pada file keytab:

sudo chown mssql /var/opt/mssql/secrets/mssql.keytab
sudo chmod 440 /var/opt/mssql/secrets/mssql.keytab

Untuk detail selengkapnya tentang mencantumkan entri keytab dan mengatur izin yang benar, lihat bagian Periksa file dan izin keytab sebelumnya. Jika salah satu kondisi di bagian tersebut tidak terpenuhi, Anda akan melihat kesalahan ini atau yang setara: "Key table entry not found".

Pesan kesalahan: "Tidak ada entri tabel kunci yang ditemukan untuk <prinsipal>"

Kemungkinan penyebab

Saat mencoba mengambil kredensial <principal> dari keytab, tidak ada entri yang berlaku yang ditemukan.

Panduan

Ikuti bagian Periksa file keytab dan izin dokumen ini untuk mencantumkan semua entri dalam tab kunci. Pastikan ada <principal> . Dalam hal ini, akun utama biasanya adalah network.privilegedadaccount tempat SPN terdaftar. Jika tidak, tambahkan menggunakan perintah adutil . Untuk informasi selengkapnya, lihat Menggunakan adutil untuk mengonfigurasi autentikasi Direktori Aktif dengan SQL Server di Linux.

Pesan kesalahan: "Minta prinsipal> server <tiket tidak ditemukan di keytab (tiket kvno <KVNO>)"

Kemungkinan penyebab

Kesalahan ini menunjukkan bahwa SQL Server tidak dapat menemukan entri keytab untuk tiket yang diminta dengan KVNO (Nomor Versi Kunci) yang ditentukan.

Panduan

Ikuti bagian Periksa file keytab dan izin dokumen ini untuk mencantumkan semua entri dalam tab kunci. Jika Anda tidak dapat menemukan pesan kesalahan yang cocok <principal> dengan dan KVNO, tambahkan entri ini dengan memperbarui file keytab menggunakan langkah-langkah yang disebutkan di bagian tersebut.

Anda juga dapat menjalankan perintah berikut untuk mendapatkan KVNO terbaru dari DC. Sebelum menjalankan perintah ini, Anda perlu mendapatkan atau memperbarui TGT Kerberos menggunakan perintah kinit . Untuk informasi selengkapnya, lihat Menggunakan adutil untuk membuat pengguna Direktori Aktif untuk SQL Server dan mengatur Nama Perwakilan Layanan (SPN).

kvno MSSQLSvc/<hostname>

Pesan kesalahan: "Minta perwakilan server <tiket kvno <KVNO> ditemukan di keytab tetapi tidak dengan jenis> enkripsi enctype<">

Kemungkinan penyebab

Kesalahan ini berarti bahwa jenis enkripsi yang diminta oleh klien tidak ada di keytab SQL Server.

Panduan

Untuk memvalidasi, ikuti bagian Periksa file keytab dan izin dokumen ini untuk mencantumkan semua entri dalam tab kunci. Jika Anda tidak dapat menemukan pesan kesalahan yang cocok dengan prinsipal, KVNO, dan jenis enkripsi, tambahkan entri ini dengan memperbarui file keytab menggunakan langkah-langkah yang disebutkan di bagian tersebut.

Pesan kesalahan: "Minta perwakilan> server <tiket kvno <KVNO> jenis> enkripsi enctype <yang ditemukan di keytab tetapi tidak dapat mendekripsi tiket"

Kemungkinan penyebab

Kesalahan ini menunjukkan bahwa SQL Server tidak dapat menggunakan kredensial dari file keytab untuk mendekripsi permintaan autentikasi masuk. Kesalahan sering ditangani oleh kata sandi yang salah.

Panduan

Buat ulang keytab menggunakan kata sandi yang benar. Jika Anda menggunakan adutil, ikuti langkah-langkah dalam Menggunakan adutil untuk mengonfigurasi autentikasi Direktori Aktif dengan SQL Server di Linux untuk membuat keytab dengan kata sandi yang tepat.

Port umum

Tabel ini memperlihatkan port umum yang digunakan oleh SQL Server di Linux untuk mengonfigurasi dan mengelola autentikasi Direktori Aktif.

Layanan Active Directory Port
DNS 53
LDAP 389
LDAPS 636
Kerberos 88