Compartir a través de


Unión de una máquina virtual Ubuntu 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 Ubuntu Linux a un dominio administrado.

Prerrequisitos

Para completar este tutorial, necesitará los siguientes recursos y privilegios:

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

Si tiene una máquina virtual Ubuntu Linux 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 Ubuntu Linux 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.
  • ubuntu es el nombre de host de la máquina virtual Ubuntu que está conectando al dominio administrado.

Actualice estos nombres con sus propios valores:

127.0.0.1 ubuntu.aaddscontoso.com ubuntu

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

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 apt-get

Durante la instalación de Kerberos, el paquete krb5-user solicita el nombre de dominio en ALL UPPERCASE. Por ejemplo, si el nombre del dominio administrado es aaddscontoso.com, escriba AADDSCONTOSO.COM como entorno Kerberos. La instalación escribe las secciones [realm] y [domain_realm] en el archivo de configuración /etc/krb5.conf. Asegúrese de especificar el ámbito en MAYÚSCULAS:

sudo apt-get update
sudo apt-get install krb5-user samba sssd sssd-tools libnss-sss libpam-sss ntp ntpdate realmd adcli

Configurar el protocolo de tiempo de red (NTP)

Para que la comunicación de dominio funcione correctamente, la fecha y hora de la máquina virtual Ubuntu debe sincronizarse con el dominio administrado. Agregue el nombre de host NTP del dominio administrado al archivo /etc/ntp.conf .

  1. Abra el archivo ntp.conf con un editor:

    sudo vi /etc/ntp.conf
    
  2. En el archivo ntp.conf , cree una línea para agregar el nombre DNS del dominio administrado. En el ejemplo siguiente, se agrega una entrada para aaddscontoso.com . Use su propio nombre DNS:

    server aaddscontoso.com
    

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

  3. Para asegurarse de que la máquina virtual está sincronizada con el dominio administrado, se necesitan los pasos siguientes:

    • Detener el servidor NTP
    • Actualización de la fecha y hora desde el dominio administrado
    • Inicio del servicio NTP

    Para completar estos pasos, ejecute los siguientes comandos. Use su propio nombre DNS con el ntpdate comando :

    sudo systemctl stop ntp
    sudo ntpdate aaddscontoso.com
    sudo systemctl start ntp
    

Unión de una máquina virtual al dominio administrado

Ahora que los paquetes necesarios están instalados en la máquina virtual y NTP está configurado, una la máquina virtual al dominio administrado.

  1. Use el realm discover comando para detectar el dominio administrado. En el siguiente ejemplo se descubre el ámbito AADDSCONTOSO.COM. Especifique su propio nombre de dominio administrado en MAYÚSCULAS:

    sudo realm discover AADDSCONTOSO.COM
    

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

    • Asegúrese de que el dominio es accesible desde la máquina virtual. Intente ping aaddscontoso.com 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 para la red virtual se ha actualizado para que apunte a los controladores de dominio del dominio administrado.
  2. Ahora, inicialice Kerberos mediante el kinit comando . Especifique un usuario que forme parte del dominio administrado. Si es necesario, agregue una cuenta de usuario a un grupo en microsoft Entra ID.

    De nuevo, el nombre de dominio administrado debe escribirse en ALL UPPERCASE. En el ejemplo siguiente, la cuenta denominada contosoadmin@aaddscontoso.com se usa para inicializar Kerberos. Introduzca su cuenta de usuario que forma parte del dominio administrado.

    sudo kinit -V contosoadmin@AADDSCONTOSO.COM
    
  3. Por último, una la máquina virtual al dominio administrado mediante el realm join comando . Use la misma cuenta de usuario que forma parte del dominio administrado que especificó en el comando anterior kinit , como contosoadmin@AADDSCONTOSO.COM:

    sudo realm join --verbose AADDSCONTOSO.COM -U 'contosoadmin@AADDSCONTOSO.COM' --install=/
    

La máquina virtual tarda unos instantes en unirse al dominio administrado. En la salida de ejemplo siguiente se muestra que la máquina virtual se ha unido correctamente al dominio administrado:

Successfully enrolled machine in realm

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.

Si recibió el error Error de GSS no especificado. El código secundario puede proporcionar más información (servidor no encontrado en la base de datos Kerberos), abrir el archivo /etc/krb5.conf y agregar el código siguiente en [libdefaults] la sección e inténtelo de nuevo:

rdns=false

Actualización de la configuración de SSSD

Uno de los paquetes instalados en un paso anterior era para el demonio de los servicios de seguridad del sistema (SSSD). Cuando un usuario intenta iniciar sesión en una máquina virtual mediante credenciales de dominio, SSSD retransmite la solicitud a un proveedor de autenticación. En este escenario, SSSD usa Domain Services para autenticar la solicitud.

  1. Abra el archivo sssd.conf con un editor:

    sudo vi /etc/sssd/sssd.conf
    
  2. Comente la línea de use_fully_qualified_names de la siguiente manera:

    # use_fully_qualified_names = True
    

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

  3. Para aplicar el cambio, reinicie el servicio SSSD:

    sudo systemctl restart sssd
    

Configuración de la cuenta de usuario y el grupo

Con la máquina virtual unida al dominio administrado y configurada para la autenticación, hay algunas opciones de configuración de usuario para completar. Estos cambios de configuración incluyen permitir la autenticación basada en contraseña y crear automáticamente directorios principales en la máquina virtual local cuando los usuarios del dominio inician sesión por primera vez.

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.

Nota:

Las imágenes de Ubuntu marketplace suelen tener algunas opciones de configuración establecidas en /etc/ssh/sshd_config.d, incluida PasswordAuthentication en el archivo 50-cloud-init.conf, por lo que asegúrese de actualizar ese archivo para evitar que sobrescriba el que se establece con los pasos 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 :

    PasswordAuthentication yes
    

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

  3. Para aplicar los cambios y permitir que los usuarios inicien sesión con una contraseña, reinicie el servicio SSH:

    sudo systemctl restart ssh
    

Configuración de la creación automática de directorios principales

Para habilitar la creación automática del directorio principal cuando un usuario inicia sesión por primera vez, complete los pasos siguientes:

  1. Abra el /etc/pam.d/common-session archivo en un editor:

    sudo vi /etc/pam.d/common-session
    
  2. Agregue la siguiente línea en este archivo debajo de la línea session optional pam_sss.so:

    session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
    

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

Conceder privilegios de sudo al grupo "AAD DC Administrators"

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

  1. Abra el archivo sudoers para editar:

    sudo visudo
    
  2. Agregue la siguiente entrada al final del archivo /etc/sudoers :

    # Add 'AAD DC Administrators' group members as admins.
    %AAD\ DC\ Administrators ALL=(ALL) NOPASSWD:ALL
    

    Cuando haya terminado, guarde y salga del editor mediante el Ctrl-X comando .

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 ssh -l comando , como contosoadmin@aaddscontoso.com y, a continuación, escriba la dirección de la máquina virtual, como ubuntu.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.

    sudo ssh -l contosoadmin@AADDSCONTOSO.com ubuntu.aaddscontoso.com
    
  2. Cuando se haya conectado correctamente a la máquina virtual, compruebe que el directorio principal se inicializó correctamente:

    sudo 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:

    sudo id
    

    Debería ver sus pertenencias a grupos desde el dominio administrado.

  4. Si ha iniciado sesión en la máquina virtual como miembro del grupo AAD DC Administrators, compruebe que puede usar correctamente el comando sudo.

    sudo apt-get 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.