Cuando creas una máquina virtual Ubuntu en Microsoft Azure, el sistema automáticamente deshabilita el inicio de sesión con el usuario root por seguridad. En su lugar, se te asigna un usuario no-root con privilegios de sudo. Sin embargo, en ciertos casos, puede ser necesario habilitar el acceso directo como root.

Si intentas conectarte directamente como root vía SSH, verás un mensaje de acceso denegado. En este artículo, te enseñaremos cómo configurar tu máquina virtual para permitir el inicio de sesión con root paso a paso.

Cómo habilitar el acceso root en Ubuntu en Azure

A continuación, te mostramos los pasos necesarios para habilitar el inicio de sesión con root en tu máquina virtual Ubuntu en Azure.

1. Crear una máquina virtual con claves ed25519

Para que esto funcione, es importante no usar el tipo de autenticación con contraseña, ya que vamos a configurar los accesos de ssh usando las claves publicas.

2. Descargar clave privada

Al realizar la revisión para poder crear la maquina virtual, le saldra un mensaje emergente para poder descargar la clave privada, y le hacemos click en descargar

 

3. Conectarse a la máquina virtual con SSH

Una vez creada la máquina en Azure, inicia sesión con el usuario estándar (no root) asignado durante la instalación:

ssh -i [path completo del archivo .pem] [usuario]@[IP-de-la-VM]

Reemplaza usuario con el nombre de usuario asignado y IP-de-la-VM con la dirección IP de la máquina virtual.

Ejemplo:

ssh -i C:\Users\Lautaro\Downloads\rukia-canopus-server_key.pem azureuser@74.235.230.186

4. Cambiar a usuario root

Para obtener acceso como root, usa el siguiente comando:

sudo -i

Esto te otorgará privilegios de superusuario y te permitirá modificar la configuración de SSH.

5. Modificar el archivo authorized_keys

El archivo ~/.ssh/authorized_keys en Ubuntu (y otros sistemas basados en Linux) almacena las claves públicas de los usuarios que tienen permiso para autenticarse en el sistema mediante SSH sin necesidad de una contraseña.

Para saber nuestra clave publica ejecutamos el siguiente comando

cat /home/[Usuario de la VM]/.ssh/authorized_keys

Ejemplo:

cat /home/azureuser/.ssh/authorized_keys

 

El archivo /root/.ssh/authorized_keys contiene el mensaje de error que vimos iniicialmente en la primera imgen.

Para permitir el acceso SSH directo como root, debemos copiar nuestra clave pública al archivo de autenticación de root:

cat /home/azureuser/.ssh/authorized_keys >> /root/.ssh/authorized_keys

6. Reiniciar el servicio SSH

Para aplicar los cambios, reinicia el servicio SSH con:

systemctl restart ssh

7. Probar el acceso como root

Ahora puedes probar el acceso como root ejecutando:

ssh -i [path completo del archivo .pem] root@[IP-de-la-VM]

Conclusión

Habilitar el acceso root en una máquina virtual Ubuntu en Azure requiere modificar la configuración de SSH y asegurarse de que la clave pública esté en el usuario root. Este método es útil en escenarios donde se necesita acceso administrativo directo, aunque se recomienda usarlo con precaución para no comprometer la seguridad del sistema