Unión de una máquina virtual Red Hat Enterprise Linux a un dominio administrado de Microsoft Entra Domain Services

Para que los usuarios puedan iniciar sesión en máquinas virtuales (VM) en Azure mediante un único conjunto de credenciales, puede unir máquinas virtuales a un dominio administrado de Microsoft Entra Domain Services. Al unir una máquina virtual a un dominio administrado de Domain Services, 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:

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 Microsoft Entra Domain Services.
  • Implemente la VM en una subred diferente a la del dominio administrado de Microsoft Entra 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.

Importante

Tenga en cuenta que Red Hat Enterprise Linux 6.X y Oracle Linux 6.x ya son EOL. La versión 6.10 de RHEL tiene compatibilidad con ELS disponible, que finalizará en 06/2024.

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.

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, una la máquina virtual al dominio administrado.

  1. Use el comando adcli info para 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.com
    

    Si el comando adcli info no 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.com para 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.
  2. 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 contosoadmin
    
  3. Ahora, configure el archivo /ect/krb5.conf y cree el archivo /etc/sssd/sssd.conf para que use el dominio aaddscontoso.com de Active Directory. No olvide cambiar AADDSCONTOSO.COM por el nombre de su dominio:

    Abra el archivo /etc/krb5.conf en un editor:

    sudo vi /etc/krb5.conf
    

    Actualice el archivo krb5.conf para 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.COM
    

    Cree el archivo /etc/sssd/sssd.conf:

    sudo vi /etc/sssd/sssd.conf
    

    Actualice el archivo sssd.conf para 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 = ad
    
  4. Compruebe que los permisos de /etc/sssd/sssd.conf son 600 y que son propiedad del usuario raíz:

    sudo chmod 600 /etc/sssd/sssd.conf
    sudo chown root:root /etc/sssd/sssd.conf
    
  5. Use authconfig para informar a la máquina virtual sobre la integración de AD Linux:

    sudo authconfig --enablesssd --enablesssd auth --update
    
  6. Inicie 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.

  1. Abra el archivo sshd_conf con un editor:

    sudo vi /etc/ssh/sshd_config
    
  2. Actualice la línea de PasswordAuthentication a yes (sí):

    PasswordAuthentication yes
    

    Cuando haya terminado, guarde y salga del archivo sshd_conf mediante el comando :wq del editor.

  3. 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:

    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.

  1. Abra el archivo sudoers para editarlo:

    sudo visudo
    
  2. Agregue 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:ALL
    

    Cuando 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.

  1. 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.com y, 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.com
    
  2. Cuando se haya conectado correctamente a la máquina virtual, compruebe que el directorio particular se ha inicializado correctamente:

    pwd
    

    Debe estar en el directorio /home con su propio directorio que coincide con la cuenta de usuario.

  3. Ahora, compruebe que las pertenencias a grupos se están resolviendo correctamente:

    id
    

    Debería ver las pertenencias a grupos del dominio administrado.

  4. 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.