Servidor Ubuntu: cómo habilitar el usuario raíz (inicio de sesión y SSH)

Durante mucho tiempo, root fue el usuario predeterminado en Linux, pero ahora está deshabilitado en la mayoría de las distribuciones. Si, como yo, estaba acostumbrado, este artículo responderá sus preguntas y lo guiará con las nuevas mejores prácticas. También le mostraré algunas soluciones si realmente necesita «rootear».

En Ubuntu Server, usar «sudo» es el método recomendado para obtener privilegios de administrador con el usuario principal, en lugar de usar «root». Si es necesario, el usuario «raíz» aún puede habilitarse configurando su contraseña.

Comencemos con un poco de teoría, para darle el contexto, y luego le mostraré cómo habilitar la raíz si realmente lo desea, ya sea en una terminal o incluso para el uso de SSH.

¿Hay un usuario root en Ubuntu Server?

La «raíz» aún existe en Ubuntu Server y en la mayoría de las distribuciones de Linux, pero no se puede usar de manera predeterminada. La cuenta está deshabilitada por razones de seguridad.

¿Por qué el usuario root está deshabilitado en Ubuntu?

El usuario root era un blanco fácil para los piratas informáticos. Siempre tiene el mismo nombre («raíz») en cualquier distribución de Linux, y si se descifrara la contraseña, el hacker podría acceder a todo el sistema sin limitaciones.

Es por eso que Debian, y la mayoría de las distribuciones basadas en él (como Ubuntu), decidieron deshabilitar el superusuario por defecto en las nuevas instalaciones. Además, hay formas de obtener privilegios de administrador temporalmente en estos sistemas, por lo que no hay una necesidad real de mantenerlo habilitado.

Si revisa la lista de usuarios en su sistema, aún la encontrará, con la ID 0, pero lo más probable es que no pueda iniciar sesión con ella:

¡Consigue mi hoja de trucos!
¡Obtenga su archivo PDF gratuito con todos los comandos que necesita saber en Linux!

Sudo: una mejor manera de ejecutar comandos raíz

El comando sudo es una abreviatura de “superusuario do”, y permite que cualquier usuario con suficientes permisos ejecute comandos como si fuera el superusuario (root).

Por ejemplo, si intenta actualizar su sistema con:
apt update
No funcionará con su usuario principal, se requieren privilegios de administrador.
Pero si, en cambio, usas:
sudo apt update
Debería funcionar si el usuario actual tiene permiso para usar sudo:

Sudo puede pedirle su contraseña (la contraseña de usuario), para asegurarse de que sigue siendo usted en la computadora, pero aparte de eso, le otorga los mismos privilegios que la raíz.

Básicamente, puedes hacer todo con sudo, por lo que, en teoría, ya no es necesario usar «root».

Nota: No todos los usuarios pueden usar «sudo» de forma predeterminada, solo el primer usuario que creó al instalar su sistema. Para dar permiso a otro usuario, debe agregarlo al grupo «sudo», con:
sudo adduser <username> sudo
Haciendo esto desde un usuario autorizado, obviamente.

¿Cuál es la contraseña de root en Ubuntu Server?

El usuario raíz está deshabilitado de forma predeterminada y, por lo tanto, no tiene establecida ninguna contraseña. En las versiones antiguas de Ubuntu, puede ser el que se configuró durante la instalación, no hay un valor predeterminado.

Si tiene acceso a una cuenta de usuario con el permiso sudo, puede cambiar fácilmente del usuario a la cuenta raíz con:
sudo su

¡Consigue mi hoja de trucos!
¡Obtenga su archivo PDF gratuito con todos los comandos que necesita saber en Linux!

Si solicita una contraseña, escriba la del usuario actual («pat» en mi ejemplo), y luego iniciará sesión como root:

Use el comando de salida para volver a sus privilegios normales.
exit

He explicado que usar «sudo» debería ser suficiente en la mayoría de los casos y que incluso puede cambiar temporalmente al indicador raíz en una terminal usando «sudo su». No debería necesitar nada más, pero analicemos cómo habilitar la raíz si realmente desea hacer esto (no recomendado).

Habilitar inicio de sesión raíz en Ubuntu Server

Antes de usar la cuenta «raíz» directamente en Ubuntu Server, se debe establecer una contraseña mediante el comando:
sudo passwd

Primero le pedirá la contraseña de usuario actual («pat» en mi ejemplo), y luego le pedirá que cree una contraseña para el superusuario:

Como se explicó anteriormente, tener root habilitado en su sistema es un problema de seguridad importante, así que al menos intente usar una contraseña segura para ello. La longitud es clave, usar un generador de contraseñas como este puede ayudarlo a obtener algo lo suficientemente largo pero fácil de recordar.

Después de configurar la contraseña para el usuario raíz, debería poder iniciar sesión con ella directamente cuando se inicia el sistema. Pero no funcionará para el acceso remoto, como con SSH, porque hay una medida de seguridad adicional para evitarlo.

¡Consigue mi hoja de trucos!
¡Obtenga su archivo PDF gratuito con todos los comandos que necesita saber en Linux!

¿Quieres chatear con otros entusiastas de Raspberry Pi? Únete a la comunidad, comparte tus proyectos actuales y pide ayuda directamente en los foros.

Habilitar el inicio de sesión raíz a través de SSH

Además de tener el usuario raíz deshabilitado de forma predeterminada en el servidor Ubuntu, también se bloquea la conexión a través de SSH una vez habilitado.

Aquí se explica cómo permitir el inicio de sesión como root a través de SSH:

  • Asegúrese de que el servidor SSH esté instalado:
    sudo apt install ssh
    Probablemente lo habilitó durante la instalación del sistema, pero no es obligatorio, así que tómese unos segundos para comprobarlo.
  • Edite el archivo de configuración del servidor SSH:
    sudo nano /etc/ssh/sshd_config
  • Busque la línea que comienza con «PermitRootLogin» en este archivo:

    Como puede ver, está prohibido usarlo por defecto.

  • Descomente esta línea y cambie la configuración a:
    PermitRootLogin yes
  • Guardar y salir (CTRL+X).
  • Reinicie el servicio SSH para aplicar el cambio:
    sudo service ssh restart

Una vez hecho esto, debería poder usar el usuario raíz directamente desde cualquier computadora en la misma red:

Recordatorio: si bien habilitar el acceso a su sistema con el usuario raíz puede ser conveniente, especialmente durante la configuración inicial de su sistema, es un gran riesgo de seguridad mantenerlo habilitado todo el tiempo y no hay una necesidad real de mantenerlo habilitado. Intente usar los comandos «sudo» en su lugar y desactívelo lo antes posible.

Puedes revertir la configuración SSH para bloquear accesos con root, o deshabilitar completamente la cuenta con:
sudo passwd -l root

También recomiendo leer y seguir mis consejos de seguridad para cualquier servidor Linux aquí. Comparto las cosas más importantes que debe hacer para mantener su sistema seguro. Trabajando como administrador de sistemas durante casi 20 años, era como mi lista de verificación para cualquier instalación de servidor nuevo.

¡Consigue mi hoja de trucos!
¡Obtenga su archivo PDF gratuito con todos los comandos que necesita saber en Linux!

Recursos adicionales

¿Perdido con la línea de comandos?
No necesitas aprender y recordar todo, solo descarga mi hoja de trucos donde explico los comandos más importantes en Linux, con una breve explicación y algunos ejemplos.
Descarga mi hoja de trucos en PDF gratis.

Comunidad VIP
Si solo quieres pasar el rato conmigo y otros fanáticos de Linux, también puedes unirte a la comunidad. Comparto tutoriales exclusivos y contenido detrás de escena allí. Los miembros Premium también pueden visitar el sitio web sin anuncios.
Más detalles aquí.

¿Necesita ayuda para construir algo con Python?
Python es un gran lenguaje para comenzar a programar en cualquier computadora con Linux.
Aprende lo esencial, paso a paso, sin perder tiempo entendiendo conceptos inútiles.
Obtenga el libro electrónico ahora.