El problema
Un cliente de CentOS/RHEL 6 no se puede inscribir en un dominio de Active Directory y el comando adcli falla aleatoriamente con el siguiente error escrito en la consola:
Couldn't authenticate with keytab while discovering which salt to use: [SERVER$@DOMAIN_NAME]: KDC has no support for encryption type
Los siguientes errores se registran al mismo tiempo en /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)
Sin embargo, a veces los intentos posteriores de inscribir el servidor a través del comando adcli se completaron con éxito, sin que se hicieran cambios en la configuración del cliente CentOS/RHEL.
La solución
Los controladores de dominio de Active Directory de Windows se configuraron como un clúster para la redundancia en el dominio; sin embargo, algunos controladores de dominio se configuraron para aplicar algoritmos de cifrado específicos, mientras que otros no.
Esto significa que si el cliente CentOS/RHEL intentara comunicarse con un controlador de dominio que aplicaba algoritmos de cifrado específicos, sssd en el cliente Linux fallaría si se configuraba para usar un algoritmo de cifrado diferente a los que el controlador de dominio estaba configurado para aplicar. .
Configure tanto los controladores de dominio de Windows Active Directory como los clientes de Linux para usar algoritmos de cifrado coincidentes. Para configurar los algoritmos de cifrado en el cliente de Linux, como en el siguiente ejemplo donde se configura el algoritmo aes256-cts, haga lo siguiente:
1. Realice una copia de seguridad del archivo de configuración /etc/krb5.conf antes de realizar cambios en él.
2. Cambie los valores de cifrado en /etc/krb5.conf a:
allow_weak_crypto = false default_tkt_enctypes = aes256-cts default_tgs_enctypes = aes256-cts permitted_enctypes = aes256-cts
3. Reinicie el servicio sssd:
En CentOS/RHEL 6, haga lo siguiente:
# service sssd restart
En CentOS/RHEL 7, haga lo siguiente:
# systemctl restart sssd.service
Para configurar los algoritmos de cifrado en los controladores de dominio de Windows, comuníquese con el administrador de sistemas de los controladores de dominio de Windows y, si es necesario, comuníquese con Microsoft para obtener ayuda, como proveedor de software correspondiente.