Habilitar el acceso SSH como root en Ubuntu, Debian y CentOS: guía detallada y advertencias de seguridad

El acceso remoto como usuario root a través de SSH está deshabilitado por defecto en muchas distribuciones Linux modernas. Esta restricción, lejos de ser arbitraria, forma parte de las buenas prácticas de ciberseguridad. Aun así, hay ocasiones en las que el inicio de sesión SSH como root puede resultar útil o necesario: automatización, entornos controlados, servidores locales o sistemas de recuperación.

Este artículo explica cómo habilitar el acceso SSH como root en tres de las distribuciones más usadas —Ubuntu, Debian y CentOS—, señalando diferencias entre ellas y recomendaciones de seguridad clave.

¿Por qué está deshabilitado el acceso como root?

El usuario root tiene control total sobre el sistema. Permitir su acceso directo vía SSH incrementa significativamente el riesgo de:

  • Ataques de fuerza bruta automatizados
  • Escalada rápida de privilegios en caso de compromiso
  • Falta de trazabilidad (no se distingue qué usuario humano accedió)

Por eso, en general, se recomienda usar usuarios normales con permisos sudo y deshabilitar el login directo de root. Si decides habilitarlo, hazlo con precauciones estrictas.

Ubuntu y Debian: habilitar acceso SSH como root

Ubuntu y Debian comparten muchas configuraciones base, por lo que los pasos son prácticamente idénticos.

Paso 1: Habilitar la cuenta root (Ubuntu)

Ubuntu no activa la cuenta root por defecto (no tiene contraseña definida).

sudo passwd root

Esto asignará una contraseña al usuario root.

En Debian, este paso puede omitirse si ya definiste contraseña root durante la instalación.

Paso 2: Configurar el demonio SSH

Edita el archivo /etc/ssh/sshd_config con privilegios:

sudo nano /etc/ssh/sshd_config

Busca y modifica o añade las siguientes líneas:

PermitRootLogin yes
PasswordAuthentication yes

Para más seguridad (uso con clave pública SSH):

PermitRootLogin prohibit-password
PasswordAuthentication no

Guarda el archivo y reinicia el servicio SSH:

sudo systemctl restart ssh

Ahora puedes acceder con:

ssh root@ip-del-servidorLenguaje del código: CSS (css)

CentOS / AlmaLinux / RHEL: proceso ligeramente distinto

En CentOS 7/8 y derivados como AlmaLinux o Rocky Linux, la cuenta root suele estar habilitada, pero el acceso por SSH puede estar restringido.

Paso 1: Verificar que root tiene contraseña

Ejecuta como superusuario o vía sudo:

passwd root

Paso 2: Configurar SSH

Edita /etc/ssh/sshd_config y cambia (o asegúrate de tener):

PermitRootLogin yes
PasswordAuthentication yes

Guarda los cambios y reinicia el servicio:

sudo systemctl restart sshd

(Opcional) Usar claves públicas para mayor seguridad

Una opción más segura que usar contraseña es configurar autenticación por clave SSH. Para ello:

  1. Genera la clave desde tu máquina local (si no la tienes): ssh-keygen -t rsa -b 4096
  2. Copia la clave pública al servidor: ssh-copy-id root@ip-del-servidor
  3. Verifica que /root/.ssh/authorized_keys contiene tu clave.
  4. Edita /etc/ssh/sshd_config y asegúrate de tener: PermitRootLogin prohibit-password PasswordAuthentication no

Recomendaciones de seguridad

Si habilitas el acceso SSH como root, es fundamental reducir riesgos:

  • Limita el acceso por IP: Usa iptables, firewalld o servicios de cloud para restringir conexiones entrantes al puerto SSH.
  • Cambia el puerto por defecto (22) a otro menos predecible.
  • Instala Fail2ban para bloquear intentos repetidos: sudo apt install fail2ban # Ubuntu/Debian sudo yum install fail2ban # CentOS
  • Desactiva root una vez terminadas tareas críticas.

Conclusión

Habilitar el acceso SSH como root puede ser útil en contextos controlados o necesidades concretas, pero nunca debe hacerse a la ligera. Ubuntu, Debian y CentOS permiten esta configuración, pero el enfoque ideal es permitirlo temporalmente o bajo condiciones estrictas de seguridad.

Cuando se trata de administradores noveles, lo más prudente es usar cuentas con sudo, implementar autenticación por claves, y monitorizar accesos mediante herramientas como journalctl, logwatch o servicios SIEM.

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

¡Apúntate a nuestro newsletter!


– patrocinadores –

Noticias destacadas

– patrocinadores –

¡SUSCRÍBETE AL BOLETÍN
DE LOS SYSADMINS!

Scroll al inicio
×