Il problema
Un client CentOS/RHEL 6 non riesce a essere registrato in un dominio Active Directory, con il comando adcli che fallisce casualmente con il seguente errore scritto nella console:
Couldn't authenticate with keytab while discovering which salt to use: [SERVER$@DOMAIN_NAME]: KDC has no support for encryption type
I seguenti errori vengono registrati contemporaneamente in /var/log/messages:
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)
Tuttavia, a volte i tentativi successivi di registrare il server tramite il comando adcli sono stati completati correttamente, senza che vengano apportate modifiche alla configurazione al client CentOS/RHEL.
La soluzione
I controller di dominio di Windows Active Directory sono stati configurati come un cluster per la ridondanza nel dominio, tuttavia alcuni controller di dominio sono stati configurati per applicare algoritmi di crittografia specifici, mentre altri no.
Ciò significa che se il client CentOS/RHEL tentava di comunicare con un controller di dominio che stava applicando algoritmi di crittografia specifici, sssd sul client Linux non riuscirebbe se fosse configurato per utilizzare un algoritmo di crittografia diverso da quelli che il controller di dominio era configurato per applicare .
Configura sia i controller di dominio di Windows Active Directory che i client Linux per utilizzare algoritmi di crittografia corrispondenti. Per configurare gli algoritmi di crittografia sul client Linux, come nell'esempio seguente in cui è impostato l'algoritmo aes256-cts, eseguire le operazioni seguenti:
1. Eseguire il backup del file di configurazione /etc/krb5.conf prima di apportare modifiche..
2. Modificare i valori di crittografia in /etc/krb5.conf a:
allow_weak_crypto = false default_tkt_enctypes = aes256-cts default_tgs_enctypes = aes256-cts permitted_enctypes = aes256-cts
3. Riavvia il servizio sssd:
Su CentOS/RHEL 6, esegui:
# service sssd restart
Su CentOS/RHEL 7, esegui:
# systemctl restart sssd.service
Per configurare gli algoritmi di crittografia sui controller di dominio Windows, contattare l'amministratore di sistema per i controller di dominio Windows e, se necessario, contattare Microsoft per assistenza, in qualità di fornitore del software pertinente.