Join a Red Hat Enterprise Linux virtual machine to an Azure AD Domain Services managed domain (Unión de una máquina virtual con Red Hat Enterprise Linux a un dominio administrado de Azure Active Directory Domain Services)
Para que los usuarios puedan iniciar sesión en máquinas virtuales (VM) en Azure con un único conjunto de credenciales, puede unir VM a un dominio administrado de Azure Active Directory Domain Services (Azure AD DS). Al unir una máquina virtual a un dominio administrado de Azure AD DS, se pueden usar las cuentas de usuario y las credenciales del dominio para iniciar sesión y administrar servidores. También se aplican las pertenencias a grupos del dominio administrado para permitirle controlar el acceso a los archivos o servicios de la VM.
Este artículo muestra cómo unir una máquina virtual Red Hat Enterprise Linux (RHEL) a un dominio administrado.
Requisitos previos
Para completar este tutorial, necesitará los siguientes recursos y privilegios:
- Una suscripción de Azure activa.
- Si no tiene una suscripción a Azure, cree una cuenta.
- Un inquilino de Azure Active Directory asociado a su suscripción, ya sea sincronizado con un directorio en el entorno local o con un directorio solo en la nube.
- Un dominio administrado de Azure Active Directory Domain Services habilitado y configurado en su inquilino de Azure AD.
- Si es necesario, el primer tutorial crea y configura un dominio administrado de Azure Active Directory Domain Services.
- Una cuenta de usuario que forme parte del dominio administrado.
- Nombres de máquina virtual Linux únicos con un máximo de 15 caracteres para evitar nombres truncados que podrían causar conflictos en Active Directory.
Creación y conexión a una máquina virtual RHEL Linux
Si ya tiene una máquina virtual RHEL Linux en Azure, conéctese a ella mediante SSH y luego continúe con el paso siguiente para empezar a configurar la máquina virtual.
Si necesita crear una máquina virtual RHEL Linux o desea crear una máquina virtual de prueba para usarla con este artículo, puede utilizar uno de los métodos siguientes:
Al crear la VM, preste atención a la configuración de la red virtual para asegurarse de que la VM puede comunicarse con el dominio administrado:
- Implemente la máquina virtual en la misma red virtual, o en otra emparejada, en la que haya habilitado Azure AD Domain Services.
- Implemente la VM en una subred diferente a la del dominio administrado de Azure AD Domain Services.
Una vez implementada la máquina virtual, siga los pasos para conectarse a la máquina virtual mediante SSH.
Configuración del archivo hosts
Para asegurarse de que el nombre de host de la máquina virtual está configurado correctamente para el dominio administrado, edite el archivo /etc/hosts y establezca el nombre de host:
sudo vi /etc/hosts
En el archivo hosts, actualice la dirección localhost. En el ejemplo siguiente:
- aaddscontoso.com es el nombre de dominio DNS del dominio administrado.
- rhel es el nombre de host de la máquina virtual RHEL que se va a unir al dominio administrado.
Actualice estos nombres con sus propios valores:
127.0.0.1 rhel rhel.aaddscontoso.com
Cuando haya terminado, guarde y salga del archivo hosts mediante el comando :wq del editor.
Instalación de los paquetes requeridos
La máquina virtual necesita algunos paquetes adicionales para unirse al dominio administrado. Para instalar y configurar estos paquetes, actualice e instale las herramientas de unión a dominio mediante yum. Hay algunas diferencias entre RHEL 7.x y RHEL 6.x, por lo que debe usar los comandos adecuados para la versión de distribución en las secciones restantes de este artículo.
RHEL 7
sudo yum install realmd sssd krb5-workstation krb5-libs oddjob oddjob-mkhomedir samba-common-tools
RHEL 6
sudo yum install adcli sssd authconfig krb5-workstation
Unión de una máquina virtual al dominio administrado
Ahora que los paquetes necesarios están instalados en la máquina virtual, únala al dominio administrado. De nuevo, use los pasos adecuados para la versión de distribución de RHEL.
RHEL 7
Use el comando
realm discoverpara detectar el dominio administrado. En el ejemplo siguiente, se detecta el dominio kerberos AADDSCONTOSO.COM. Especifique su propio nombre de dominio administrado CON TODAS LAS LETRAS EN MAYÚSCULAS:sudo realm discover AADDSCONTOSO.COMSi el comando
realm discoverno se encuentra en el dominio administrado, repase los siguientes pasos de solución de problemas:- Asegúrese de que el dominio sea accesible desde la máquina virtual. Pruebe
ping aaddscontoso.compara ver si se devuelve una respuesta positiva. - Compruebe que la VM se ha implementado en la misma red virtual (o en otra emparejada) en la que el dominio administrado está disponible.
- Confirme que se ha actualizado la configuración del servidor DNS de la red virtual para que apunte a los controladores de dominio del dominio administrado.
- Asegúrese de que el dominio sea accesible desde la máquina virtual. Pruebe
Ahora, inicialice Kerberos mediante el comando
kinit. Especifique un usuario que forme parte del dominio administrado. Si es necesario, agregue una cuenta de usuario a un grupo en Azure AD.Una vez más, el nombre del dominio administrado se debe escribir CON TODAS LAS LETRAS EN MAYÚSCULAS. En el ejemplo siguiente, la cuenta denominada
contosoadmin@aaddscontoso.comse usa para inicializar Kerberos. Introduzca su cuenta de usuario que forma parte del dominio administrado:kinit contosoadmin@AADDSCONTOSO.COMPor último, una la VM al dominio administrado con el comando
realm join. Use la misma cuenta de usuario que forma parte del dominio administrado que especificó en el comandokinitanterior, comocontosoadmin@AADDSCONTOSO.COM:sudo realm join --verbose AADDSCONTOSO.COM -U 'contosoadmin@AADDSCONTOSO.COM'
La máquina virtual tarda unos segundos en unirse al dominio administrado. La siguiente salida de ejemplo muestra que la máquina virtual se ha unido correctamente al dominio administrado:
Successfully enrolled machine in realm
RHEL 6
Use el comando
adcli infopara detectar el dominio administrado. En el ejemplo siguiente se detecta el dominio kerberos ADDDSCONTOSO.COM. Especifique su propio nombre de dominio administrado CON TODAS LAS LETRAS EN MAYÚSCULAS:sudo adcli info aaddscontoso.comSi el comando
adcli infono se encuentra en el dominio administrado, repase los siguientes pasos de solución de problemas:- Asegúrese de que el dominio sea accesible desde la máquina virtual. Pruebe
ping aaddscontoso.compara ver si se devuelve una respuesta positiva. - Compruebe que la VM se ha implementado en la misma red virtual (o en otra emparejada) en la que el dominio administrado está disponible.
- Confirme que se ha actualizado la configuración del servidor DNS de la red virtual para que apunte a los controladores de dominio del dominio administrado.
- Asegúrese de que el dominio sea accesible desde la máquina virtual. Pruebe
En primer lugar, únase al dominio utilizando el comando
adcli join. Este comando también crea un archivo keytab para autenticar la máquina. Use una cuenta de usuario que forme parte del dominio administrado.sudo adcli join aaddscontoso.com -U contosoadminAhora, configure el archivo
/ect/krb5.confy cree el archivo/etc/sssd/sssd.confpara que use el dominioaaddscontoso.comde Active Directory. No olvide cambiarAADDSCONTOSO.COMpor el nombre de su dominio:Abra el archivo
/ect/krb5.confen un editor:sudo vi /etc/krb5.confActualice el archivo
krb5.confpara que sea igual que el ejemplo siguiente:[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = AADDSCONTOSO.COM dns_lookup_realm = true dns_lookup_kdc = true ticket_lifetime = 24h renew_lifetime = 7d forwardable = true [realms] AADDSCONTOSO.COM = { kdc = AADDSCONTOSO.COM admin_server = AADDSCONTOSO.COM } [domain_realm] .AADDSCONTOSO.COM = AADDSCONTOSO.COM AADDSCONTOSO.COM = AADDSCONTOSO.COMCree el archivo
/etc/sssd/sssd.conf:sudo vi /etc/sssd/sssd.confActualice el archivo
sssd.confpara que sea igual que el ejemplo siguiente:[sssd] services = nss, pam, ssh, autofs config_file_version = 2 domains = AADDSCONTOSO.COM [domain/AADDSCONTOSO.COM] id_provider = adCompruebe que los permisos de
/etc/sssd/sssd.confson 600 y que son propiedad del usuario raíz:sudo chmod 600 /etc/sssd/sssd.conf sudo chown root:root /etc/sssd/sssd.confUse
authconfigpara informar a la máquina virtual sobre la integración de AD Linux:sudo authconfig --enablesssd --enablesssdauth --updateInicie y habilite el servicio sssd:
sudo service sssd start sudo chkconfig sssd on
Si la máquina virtual no puede finalizar correctamente el proceso de unión al dominio, asegúrese de que el grupo de seguridad de red de la máquina virtual permita el tráfico Kerberos saliente en el puerto TCP + UDP 464 a la subred de la red virtual para el dominio administrado.
Ahora compruebe si puede consultar la información de AD del usuario utilizando getent
sudo getent passwd contosoadmin
Permitir autenticación de contraseña para SSH
De forma predeterminada, los usuarios solo pueden iniciar sesión en una máquina virtual mediante la autenticación basada en clave pública de SSH. La autenticación basada en contraseñas produce un error. Cuando une la máquina virtual a un dominio administrado, esas cuentas de dominio deben usar la autenticación basada en contraseñas. Actualice la configuración de SSH para permitir la autenticación basada en contraseñas como se indica a continuación.
Abra el archivo sshd_conf con un editor:
sudo vi /etc/ssh/sshd_configActualice la línea de PasswordAuthentication a yes (sí):
PasswordAuthentication yesCuando haya terminado, guarde y salga del archivo sshd_conf mediante el comando
:wqdel editor.Para aplicar los cambios y permitir que los usuarios inicien sesión con una contraseña, reinicie el servicio SSH para su versión de distribución de RHEL:
RHEL 7
sudo systemctl restart sshdRHEL 6
sudo service sshd restart
Conceda privilegios de sudo al grupo "Administradores de controlador de dominio de AAD"
Para conceder privilegios administrativos a los miembros del grupo Administradores del controlador de dominio de AAD en la máquina virtual RHEL, puede agregar una entrada a /etc/sudoers. Una vez agregada, los miembros del grupo Administradores del controlador de dominio de AAD pueden usar el comando sudo en la máquina virtual RHEL.
Abra el archivo sudoers para editarlo:
sudo visudoAgregue la siguiente entrada al final del archivo /etc/sudoers. El grupo Administradores del controlador de dominio de AAD contiene un espacio en blanco en el nombre, por lo que debe incluir el carácter de escape de barra diagonal inversa en el nombre del grupo. Agregue su propio nombre de dominio, por ejemplo, aaddscontoso.com:
# Add 'AAD DC Administrators' group members as admins. %AAD\ DC\ Administrators@aaddscontoso.com ALL=(ALL) NOPASSWD:ALLCuando haya terminado, guarde y salga del editor mediante el comando
:wq.
Inicio de sesión en la máquina virtual mediante una cuenta de dominio
Para comprobar que la VM se ha unido correctamente al dominio administrado, inicie una nueva conexión SSH con una cuenta de usuario de dominio. Confirme que se ha creado un directorio particular y que se ha aplicado la pertenencia a grupos del dominio.
Cree una nueva conexión SSH desde la consola. Use una cuenta de dominio que pertenezca al dominio administrado mediante el comando
ssh -l, por ejemplo,contosoadmin@aaddscontoso.comy, a continuación, escriba la dirección de la VM, por ejemplo: rhel.aaddscontoso.com. Si usa Azure Cloud Shell, use la dirección IP pública de la máquina virtual en lugar del nombre DNS interno.ssh -l contosoadmin@AADDSCONTOSO.com rhel.aaddscontoso.comCuando se haya conectado correctamente a la máquina virtual, compruebe que el directorio particular se ha inicializado correctamente:
pwdDebe estar en el directorio /home con su propio directorio que coincide con la cuenta de usuario.
Ahora, compruebe que las pertenencias a grupos se están resolviendo correctamente:
idDebería ver las pertenencias a grupos del dominio administrado.
Si ha iniciado sesión en la máquina virtual como miembro del grupo Administradores del controlador de dominio de AAD, compruebe que puede usar correctamente el comando
sudo:sudo yum update
Pasos siguientes
Si tiene problemas para conectar la VM al dominio administrado o al iniciar sesión con una cuenta de dominio, consulte Solución de problemas de unión al dominio.