Errores de vinculación al dominio de la instancia de Amazon EC2 en Linux
La siguiente información puede ayudarlo a solucionar algunos mensajes de error que pueden aparecer al asociar una instancia de Amazon EC2 en Linux a su directorio de AWS Managed Microsoft AD.
Instancias de Linux que no pueden unirse a dominio o autenticar
Las instancias de Ubuntu 14.04, 16.04 y 18.04 deben ser resolubles de forma inversa en el DNS antes de que un ámbito pueda funcionar con el Microsoft Active Directory. De lo contrario, se podría encontrar con uno de estos dos escenarios:
Escenario 1: Instancias de Ubuntu que aún no se han unido a un dominio
Para las instancias de Ubuntu que intentan unirse a un dominio, el comando sudo realm
join
no puede proporcionar los permisos necesarios para unirse al dominio y podría aparecer el siguiente error:
! Couldn't authenticate to active directory: SASL(-1): generic failure: GSSAPI Error: An invalid name was supplied (Success) adcli: couldn't connect to EXAMPLE.COM domain: Couldn't authenticate to active directory: SASL(-1): generic failure: GSSAPI Error: An invalid name was supplied (Success) ! Insufficient permissions to join the domain realm: Couldn't join realm: Insufficient permissions to join the domain
Escenario 2: Instancias de Ubuntu que se han unido a un dominio
Para las instancias de Ubuntu que ya se han unido a un dominio de Microsoft Active Directory, el intento de establecer una conexión SSH con la instancia con la credenciales del dominio podría producir uno de los siguientes errores:
$ ssh admin@EJEMPLO.COM@198.51.100
no existe esa identidad: /Users/username/.ssh/id_ed25519: No existe ese archivo o directorio
Contraseña de admin@EJEMPLO.COM@198.51.100:
Permiso denegado. Inténtelo de nuevo más tarde.
Contraseña de admin@EJEMPLO.COM@198.51.100:
Si inicia sesión en la instancia con una clave pública y comprueba /var/log/auth.log
, es posible que aparezcan los siguientes errores sobre la imposibilidad de encontrar al usuario:
May 12 01:02:12 ip-192-0-2-0 sshd[2251]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=203.0.113.0
May 12 01:02:12 ip-192-0-2-0 sshd[2251]: pam_sss(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=203.0.113.0 user=admin@EXAMPLE.COM
May 12 01:02:12 ip-192-0-2-0 sshd[2251]: pam_sss(sshd:auth): received for user admin@EXAMPLE.COM: 10 (User not known to the underlying authentication module)
May 12 01:02:14 ip-192-0-2-0 sshd[2251]: Failed password for invalid user admin@EXAMPLE.COM from 203.0.113.0 port 13344 ssh2
May 12 01:02:15 ip-192-0-2-0 sshd[2251]: Connection closed by 203.0.113.0 [preauth]
Sin embargo, el kinit
del usuario sigue funcionando. Consulte este ejemplo:
ubuntu@ip-192-0-2-0:~$ kinit admin@EXAMPLE.COM Password for admin@EXAMPLE.COM: ubuntu@ip-192-0-2-0:~$ klist Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: admin@EXAMPLE.COM
Solución
La solución que se recomienda actualmente para estos dos escenarios es desactivar DNS inverso en /etc/krb5.conf
en la sección [libdefaults], tal y como se muestra a continuación:
[libdefaults] default_realm = EXAMPLE.COM rdns = false
Problema de autenticación de relación de confianza unidireccional con la unión de dominios fluida
Si ha establecido una relación de confianza de salida unidireccional entre el AWS Managed Microsoft AD y el Active Directory en las instalaciones, es posible que se produzca un problema de autenticación al intentar autenticarse en la instancia en Linux vinculada al dominio mediante las credenciales del Active Directory de confianza con Winbind.
Errores
Jul 31 00:00:00 EC2AMAZ-LSMWqT sshd[23832]: Failed password for user@corp.example.com from xxx.xxx.xxx.xxx port 18309 ssh2
Jul 31 00:05:00 EC2AMAZ-LSMWqT sshd[23832]: pam_winbind(sshd:auth): getting password (0x00000390)
Jul 31 00:05:00 EC2AMAZ-LSMWqT sshd[23832]: pam_winbind(sshd:auth): pam_get_item returned a password
Jul 31 00:05:00 EC2AMAZ-LSMWqT sshd[23832]: pam_winbind(sshd:auth): request wbcLogonUser failed: WBC_ERR_AUTH_ERROR, PAM error: PAM_SYSTEM_ERR (4), NTSTATUS: **NT_STATUS_OBJECT_NAME_NOT_FOUND**, Error message was: The object name is not found.
Jul 31 00:05:00 EC2AMAZ-LSMWqT sshd[23832]: pam_winbind(sshd:auth): internal module error (retval = PAM_SYSTEM_ERR(4), user = 'CORP\user')
Solución
Para resolver este problema, tendrá que comentar o eliminar una directiva del archivo de configuración del módulo PAM (/etc/security/pam_winbind.conf
) siguiendo estos pasos.
-
Abra el archivo
/etc/security/pam_winbind.conf
en un editor de texto.sudo vim /etc/security/pam_winbind.conf
-
Comente o elimine la siguiente directiva krb5_auth = yes.
[global] cached_login = yes krb5_ccache_type = FILE #krb5_auth = yes
-
Detenga el servicio Winbind y vuelva a iniciarlo.
service winbind stop or systemctl stop winbind net cache flush service winbind start or systemctl start winbind