Compartir a través de


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

Para permitir que los usuarios inicien 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 cuentas de usuario y credenciales del dominio para iniciar sesión y administrar servidores. Las pertenencias a grupos del dominio administrado también se aplican para permitirle controlar el acceso a archivos o servicios en la máquina virtual.

En este artículo se muestra cómo unir una máquina virtual Red Hat Enterprise Linux (RHEL) a un dominio administrado.

Prerrequisitos

Para completar este tutorial, necesita los siguientes recursos y privilegios:

Creación y conexión a una máquina virtual Linux de RHEL

Si tiene una máquina virtual Linux de RHEL existente en Azure, conéctese a ella mediante SSH y continúe con el paso siguiente para empezar a configurar la máquina virtual.

Si necesita crear una máquina virtual Linux de RHEL o desea crear una máquina virtual de prueba para usarla con este artículo, puede usar uno de los métodos siguientes:

Al crear la máquina virtual, preste atención a la configuración de red virtual para asegurarse de que la máquina virtual puede comunicarse con el dominio administrado:

  • Implemente la máquina virtual en la misma red virtual emparejada en la que ha habilitado Microsoft Entra Domain Services.
  • Implemente la máquina virtual en una subred diferente que el 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 de 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 de 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 de RHEL que 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 cierre el archivo de 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. RHEL 6.10 tiene disponible compatibilidad con ELS, que finalizó el 06/2024.

Instalación de paquetes necesarios

La máquina virtual necesita algunos paquetes adicionales para unir la máquina virtual al dominio administrado. Para instalar y configurar estos paquetes, actualice e instale las herramientas de unión a un 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 descubre el dominio ADDDSCONTOSO.COM. Especifique su propio nombre de dominio administrado en MAYÚSCULAS:

    sudo adcli info aaddscontoso.com
    

    Si el comando adcli info no encuentra el dominio administrado, revise los pasos de solución de problemas siguientes:

    • Asegúrese de que el dominio es accesible desde la máquina virtual. Pruebe ping aaddscontoso.com para ver si se devuelve una respuesta positiva.
    • Compruebe que la máquina virtual está implementada en la misma red virtual emparejada en la que el dominio administrado está disponible.
    • Confirme que la configuración del servidor DNS de la red virtual se actualiza para que apunte a los controladores de dominio del dominio administrado.
  2. En primer lugar, únase al dominio mediante el comando adcli join. Este comando también crea el 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 /ect/krb5.conf y cree los archivos /etc/sssd/sssd.conf para usar el dominio de aaddscontoso.com Active Directory. Asegúrese de que AADDSCONTOSO.COM se reemplace por su propio nombre de dominio:

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

    sudo vi /etc/krb5.conf
    

    Actualice el archivo krb5.conf para que coincida con 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 coincida con el ejemplo siguiente:

    [sssd]
     services = nss, pam, ssh, autofs
     config_file_version = 2
     domains = AADDSCONTOSO.COM
    
    [domain/AADDSCONTOSO.COM]
    
     id_provider = ad
    
  4. Asegúrese de que los permisos de /etc/sssd/sssd.conf sean 600 y que sean propiedad del usuario raíz:

    sudo chmod 600 /etc/sssd/sssd.conf
    sudo chown root:root /etc/sssd/sssd.conf
    
  5. Use authconfig para indicar 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 completar correctamente el proceso de unión a un 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 red virtual para el dominio administrado.

Ahora compruebe si puede consultar información de AD de usuario mediante getent

sudo getent passwd contosoadmin

Permitir la autenticación de contraseñas 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 SSH. Se produce un error en la autenticación basada en contraseña. Al unir la máquina virtual a un dominio administrado, esas cuentas de dominio deben usar la autenticación basada en contraseña. Actualice la configuración de SSH para permitir la autenticación basada en contraseña 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 al :

    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 la versión de distribución de RHEL:

    sudo service sshd restart
    

Conceder privilegios de sudo al grupo "Administradores de AAD DC"

Para conceder a los miembros del administradores de controlador de dominio de AAD los privilegios administrativos del grupo en la máquina virtual de RHEL, agregue una entrada a la /etc/sudoers. Una vez agregados, los miembros del grupo Administradores de DC de AAD pueden usar el comando sudo en la máquina virtual de RHEL.

  1. Abra el archivo sudoers para editarlo:

    sudo visudo
    
  2. Agregue la siguiente entrada al final del archivo /etc/sudoers. El grupo Administradores DC de AAD contiene espacios en blanco en el nombre, por lo que se debe incluir el carácter de escape de barra diagonal inversa en el nombre del grupo. Agregue su propio nombre de dominio, como 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 del editor.

Inicio de sesión en la máquina virtual mediante una cuenta de dominio

Para comprobar que la máquina virtual se ha unido correctamente al dominio administrado, inicie una nueva conexión SSH mediante una cuenta de usuario de dominio. Confirme que se crea un directorio principal y que se aplica 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, como contosoadmin@aaddscontoso.com y escriba la dirección de la máquina virtual, como 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 principal se inicializó correctamente:

    pwd
    

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

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

    id
    

    Debería ver sus membresías de grupo desde el dominio administrado.

  4. Si ha iniciado sesión en la VM como miembro del grupo de administradores de AAD DC , compruebe si puede usar correctamente el comando sudo:

    sudo yum update
    

Pasos siguientes

Si tiene problemas para conectar la máquina virtual al dominio administrado o iniciar sesión con una cuenta de dominio, consulte Solución de problemas de unión a un dominio.