Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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:
- Una suscripción de Azure activa.
- Si no tiene una suscripción a Azure, cree una cuenta.
- Un tenant de Microsoft Entra asociado a su suscripción, ya sea sincronizado con un directorio local o un directorio en la nube exclusivamente.
- Si es necesario, cree un inquilino de Microsoft Entra o asocie una suscripción de Azure a su cuenta.
- Un dominio administrado de Microsoft Entra Domain Services habilitado y configurado en el tenant de Microsoft Entra.
- Si es necesario, el primer tutorial crea y configura un dominio administrado de Microsoft Entra Domain Services.
- Una cuenta de usuario que forma parte del dominio administrado. Asegúrese de que el atributo SAMAccountName del usuario no se genera automáticamente. Si varias cuentas de usuario del inquilino de Microsoft Entra tienen el mismo atributo mailNickname, el atributo SAMAccountName para cada usuario se genera automáticamente. Para obtener más información, vea Cómo se sincronizan los objetos y las credenciales en un dominio administrado Servicios de dominio de Microsoft Entra.
- Nombres de máquina virtual Linux únicos que tienen un máximo de 15 caracteres para evitar nombres truncados que podrían provocar conflictos en Active Directory.
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 .
Abra el archivo ntp.conf con un editor:
sudo vi /etc/ntp.confEn 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.comCuando haya terminado, guarde y salga del archivo ntp.conf mediante el
:wqcomando del editor.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
ntpdatecomando :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.
Use el
realm discovercomando 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.COMSi el comando no encuentra el
realm discoverdominio 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.comver 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.
- Asegúrese de que el dominio es accesible desde la máquina virtual. Intente
Ahora, inicialice Kerberos mediante el
kinitcomando . 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.comse usa para inicializar Kerberos. Introduzca su cuenta de usuario que forma parte del dominio administrado.sudo kinit -V contosoadmin@AADDSCONTOSO.COMPor último, una la máquina virtual al dominio administrado mediante el
realm joincomando . Use la misma cuenta de usuario que forma parte del dominio administrado que especificó en el comando anteriorkinit, comocontosoadmin@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.
Abra el archivo sssd.conf con un editor:
sudo vi /etc/sssd/sssd.confComente la línea de use_fully_qualified_names de la siguiente manera:
# use_fully_qualified_names = TrueCuando haya terminado, guarde y salga del archivo sssd.conf mediante el
:wqcomando del editor.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.
Abra el archivo sshd_conf con un editor:
sudo vi /etc/ssh/sshd_configActualice la línea de PasswordAuthentication a sí:
PasswordAuthentication yesCuando haya terminado, guarde y salga del archivo sshd_conf mediante el
:wqcomando del editor.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:
Abra el
/etc/pam.d/common-sessionarchivo en un editor:sudo vi /etc/pam.d/common-sessionAgregue 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=0077Cuando haya terminado, guarde y salga del archivo common-session mediante el
:wqcomando 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.
Abra el archivo sudoers para editar:
sudo visudoAgregue la siguiente entrada al final del archivo /etc/sudoers :
# Add 'AAD DC Administrators' group members as admins. %AAD\ DC\ Administrators ALL=(ALL) NOPASSWD:ALLCuando haya terminado, guarde y salga del editor mediante el
Ctrl-Xcomando .
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.
Cree una nueva conexión SSH desde la consola. Use una cuenta de dominio que pertenezca al dominio administrado mediante el
ssh -lcomando , comocontosoadmin@aaddscontoso.comy, 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.comCuando se haya conectado correctamente a la máquina virtual, compruebe que el directorio principal se inicializó correctamente:
sudo pwdDebe estar en el directorio /home con su propio directorio que coincida con la cuenta de usuario.
Ahora compruebe que las pertenencias a grupos se están resolviendo correctamente:
sudo idDebería ver sus pertenencias a grupos desde el dominio administrado.
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.