Das Problem
Ein CentOS/RHEL 6-Client kann nicht in einer Active Directory-Domäne registriert werden, wobei der adcli-Befehl willkürlich fehlschlägt und der folgende Fehler in die Konsole geschrieben wird:
Couldn't authenticate with keytab while discovering which salt to use: [SERVER$@DOMAIN_NAME]: KDC has no support for encryption type
Die folgenden Fehler werden gleichzeitig in /var/log/messages protokolliert:
Feb 20 16:23:52 [hostname] [sssd[ldap_child[27134]]]: Failed to initialize credentials using keytab [MEMORY:/etc/krb5.keytab]: KDC has no support for encryption type. Unable to create GSSAPI-encrypted LDAP connection. Feb 20 16:23:52 [hostname] [sssd[ldap_child[27134]]]: KDC has no support for encryption type Feb 20 16:23:53 [hostname] sssd[be[AD_DOMAIN_NAME]]: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (KDC has no support for encryption type) Feb 20 16:23:53 [hostname] sssd[be[AD_DOMAIN_NAME]]: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (KDC has no support for encryption type)
Manchmal wurden jedoch nachfolgende Versuche, den Server über den adcli-Befehl zu registrieren, erfolgreich abgeschlossen, ohne dass Konfigurationsänderungen am CentOS/RHEL-Client vorgenommen wurden.
Die Lösung
Die Windows Active Directory-Domänencontroller wurden als Cluster für Redundanz in der Domäne konfiguriert, einige Domänencontroller wurden jedoch so konfiguriert, dass sie bestimmte Verschlüsselungsalgorithmen erzwingen, andere hingegen nicht.
Das bedeutet, dass, wenn der CentOS/RHEL-Client versuchte, mit einem Domänencontroller zu kommunizieren, der bestimmte Verschlüsselungsalgorithmen erzwang, sssd auf dem Linux-Client fehlschlug, wenn er für die Verwendung eines anderen Verschlüsselungsalgorithmus konfiguriert war als die, für deren Erzwingung der Domänencontroller konfiguriert war .
Konfigurieren Sie sowohl die Windows Active Directory-Domänencontroller als auch die Linux-Clients für die Verwendung übereinstimmender Verschlüsselungsalgorithmen. Um die Verschlüsselungsalgorithmen auf dem Linux-Client zu konfigurieren, wie im folgenden Beispiel, wo der aes256-cts-Algorithmus eingestellt ist, gehen Sie bitte wie folgt vor:
1. Sichern Sie die Konfigurationsdatei /etc/krb5.conf, bevor Sie Änderungen daran vornehmen..
2. Ändern Sie die Verschlüsselungswerte in /etc/krb5.conf zu:
allow_weak_crypto = false default_tkt_enctypes = aes256-cts default_tgs_enctypes = aes256-cts permitted_enctypes = aes256-cts
3. Starten Sie den SSD-Dienst neu:
Führen Sie unter CentOS/RHEL 6 Folgendes aus:
# service sssd restart
Gehen Sie unter CentOS/RHEL 7 wie folgt vor:
# systemctl restart sssd.service
Um die Verschlüsselungsalgorithmen auf den Windows-Domänencontrollern zu konfigurieren, wenden Sie sich bitte an den Systemadministrator für die Windows-Domänencontroller und wenden Sie sich gegebenenfalls an Microsoft als den entsprechenden Softwareanbieter.