En la mayoría de distribuciones modernas de Linux, incluyendo Ubuntu, el acceso remoto al usuario root mediante SSH está deshabilitado por defecto. Esta configuración no es un capricho: se trata de una medida de seguridad clave para reducir la superficie de ataque de los servidores. Sin embargo, hay casos específicos —como en entornos de prueba, sistemas aislados o tareas de automatización— donde habilitar el inicio de sesión SSH como root puede ser necesario.
A continuación, se detalla cómo permitir esta opción en Ubuntu, junto con las implicaciones que conlleva y las mejores prácticas para minimizar los riesgos.
⚠️ Advertencia preliminar
Permitir el acceso remoto como root puede exponer el sistema a ataques automatizados de fuerza bruta o acceso no autorizado si no se implementan medidas adicionales como autenticación mediante claves públicas, firewalls restrictivos o acceso limitado por IP. Se recomienda usar esta configuración únicamente si se comprende plenamente el impacto que puede tener.
Requisitos previos
- Un sistema Ubuntu (20.04, 22.04 o posterior)
- Acceso con privilegios
sudoa un usuario normal - Acceso al servidor por SSH (por defecto, el puerto 22)
- (Opcional) Clave SSH configurada
Paso 1: Establecer una contraseña segura para root
En Ubuntu, la cuenta root está deshabilitada por defecto (sin contraseña definida). Para activarla:
sudo passwd root
Introduce y confirma una contraseña segura para el usuario root.
Paso 2: Editar la configuración del servidor SSH
Abre el archivo de configuración de SSH:
sudo nano /etc/ssh/sshd_config
Busca las siguientes directivas y asegúrate de que estén configuradas así:
PermitRootLogin yes
También puedes usar:
PermitRootLogin prohibit-password
Esto permite acceso root solo con claves públicas (más seguro que el acceso por contraseña).
Asegúrate también de que PasswordAuthentication esté habilitado si no estás usando claves:
PasswordAuthentication yes
O si prefieres mayor seguridad:
PasswordAuthentication no
PermitRootLogin prohibit-password
Esta opción requiere que tengas las claves SSH previamente configuradas para root en /root/.ssh/authorized_keys.
Paso 3: Reiniciar el servicio SSH
Guarda el archivo y reinicia el servicio SSH para aplicar los cambios:
sudo systemctl restart ssh
Paso 4: Verificar el acceso
Desde otro terminal o cliente SSH, intenta conectarte como root:
ssh root@IP_DEL_SERVIDOR
Introduce la contraseña o utiliza la clave SSH correspondiente.
Recomendaciones de seguridad
Si decides mantener activo el acceso root vía SSH, considera las siguientes medidas:
- Restringir el acceso por IP usando
iptables,ufwo reglas de seguridad en la nube. - Cambiar el puerto SSH por defecto (
Port 22a otro número). - Desactivar acceso por contraseña y usar autenticación con claves públicas.
- Habilitar Fail2ban para bloquear intentos fallidos reiterados:
sudo apt install fail2ban - Auditar los accesos con
last,journalctlologwatch.
Conclusión
Habilitar el inicio de sesión SSH como root en Ubuntu puede facilitar tareas de administración avanzada, pero debe hacerse con conciencia plena de los riesgos. En entornos de producción o públicos, lo ideal es mantener el acceso deshabilitado y trabajar mediante usuarios con sudo.
Como señala la propia documentación oficial de Ubuntu, “el acceso remoto como root es innecesario en la mayoría de los casos y representa una amenaza significativa si no se protege adecuadamente”.