ESC

Start typing to search across invoices, services, domains, tickets, and more...

Search... Ctrl+K
Servidores Linux

¿Olvidaste la contraseña root de Linux? Cómo restablecerla (guía 2026)

5 pasos 17 min de lectura 6 vistas 0
Contenido

Si has perdido la contraseña root de tu servidor y no tienes configurado el inicio de sesión con clave, ya no puedes entrar por SSH. Pero mientras tengas acceso a la consola del servidor, puedes restablecer la contraseña durante el arranque. Esta guía explica tres métodos habituales: usar rd.break en GRUB (familia RHEL), init=/bin/bash (funciona en todas partes) y montar el disco desde el modo rescate. Todos te permiten recuperar el acceso sin reinstalar el sistema operativo ni perder datos.

Puntos clave

  • Si olvidas la contraseña root de Linux, puedes restablecerla durante el arranque siempre que tengas acceso a la consola del servidor, sin reinstalar el sistema operativo ni perder webs, bases de datos u otros datos de negocio.
  • En sistemas de la familia RHEL como Rocky Linux 9 y AlmaLinux 9, la forma recomendada de restablecer la contraseña root es añadir rd.break en GRUB, y es imprescindible ejecutar touch /.autorelabel para que SELinux vuelva a etiquetar los contextos de archivo.
  • En Ubuntu 22.04/24.04 y Debian 12, lo recomendado es añadir init=/bin/bash a la línea linux de GRUB y después restablecer la contraseña con passwd root.
  • Cuando GRUB está protegido con contraseña o su menú no se ve en VNC, puedes arrancar un sistema de rescate, montar la partición raíz original y cambiar la contraseña root mediante chroot.
  • Los planes de VPS en la nube de IMIDC permiten abrir una consola VNC desde la página de detalles del producto en el Centro de Clientes para este tipo de recuperación de emergencia, mientras que el control remoto o el rescate de los servidores dedicados de IMIDC se gestionan mediante un ticket de soporte.

A quién va dirigida / requisitos previos

  • Sistema operativo: Rocky Linux 9, AlmaLinux 9 (se recomienda rd.break); Ubuntu 22.04/24.04, Debian 12 (se recomienda init=/bin/bash). Los sistemas más antiguos, como CentOS 7, también admiten rd.break.
  • Acceso a la consola: abre la consola VNC desde la página de detalles del producto en el Centro de Clientes de IMIDC. Los servidores dedicados pueden requerir IPMI/KVM; si tu producto no lo ofrece o no estás seguro, envía un ticket y nuestro equipo te ayudará.
  • El disco no está cifrado (en los discos cifrados con LUKS primero hay que introducir la frase de contraseña).
  • Antes de empezar, te recomendamos crear una instantánea en el Centro de Clientes o confirmar que tienes una copia de seguridad (si tu producto lo admite).

Pasos

Paso 1: reinicia por VNC y entra en el menú de GRUB

En la consola VNC, envía Ctrl+Alt+Supr o reinicia desde el Centro de Clientes. En cuanto aparezca el menú de arranque de GRUB, pulsa una tecla de flecha para detener la cuenta atrás. Ubuntu oculta el menú por defecto; mantén pulsada Shift durante el arranque (BIOS) o pulsa Esc repetidamente (UEFI) para mostrarlo.

Selecciona el kernel predeterminado, pulsa e para entrar en el modo de edición y busca la línea que empieza por linux (en sistemas de la familia RHEL puede ser linux o linuxefi).

Paso 2A: Rocky / AlmaLinux — usa rd.break

Añade rd.break al final de la línea linux. Si hay un parámetro de consola serie como console=ttyS0 y VNC no muestra nada, elimínalo. Pulsa Ctrl+X para arrancar. En el prompt switch_root:/#, ejecuta:

mount -o remount,rw /sysroot
chroot /sysroot
passwd root
touch /.autorelabel
exit
exit

touch /.autorelabel es imprescindible: indica a SELinux que vuelva a etiquetar los contextos de archivo en el siguiente arranque. Sin él, es posible que no puedas iniciar sesión porque /etc/shadow tiene una etiqueta incorrecta. El reetiquetado tarda unos minutos y el sistema se reiniciará una vez más automáticamente, así que ten paciencia.

Paso 2B: Ubuntu / Debian — usa init=/bin/bash

En la línea linux, cambia ro por rw, elimina quiet splash y añade init=/bin/bash al final. Pulsa Ctrl+X o F10 para arrancar. En el prompt root@(none):/#, ejecuta:

mount -o remount,rw /
passwd root
sync
exec /sbin/init

En este modo systemd no está en ejecución, así que el comando reboot normal no funcionará; usa exec /sbin/init para continuar con un arranque normal. Si el sistema se cuelga, puedes forzar un reinicio en VNC con echo b > /proc/sysrq-trigger (asegúrate de ejecutar sync antes).

Consejo: init=/bin/bash también funciona en sistemas de la familia RHEL, pero después sigues necesitando touch /.autorelabel.

Paso 3: modo rescate (cuando no puedes editar GRUB)

Si GRUB está protegido con contraseña o el menú no se ve en VNC, usa el sistema de rescate. Si el Centro de Clientes no ofrece una opción de modo rescate, envía un ticket para solicitar que se monte una ISO de rescate. Una vez dentro del sistema de rescate:

lsblk -f                          # Find the original root partition, e.g. /dev/vda1
mount /dev/vda1 /mnt
# If the root partition is on LVM, run vgchange -ay first, then mount /dev/mapper/xxx-root
for d in dev proc sys; do mount --bind /$d /mnt/$d; done
chroot /mnt passwd root
touch /mnt/.autorelabel           # Only needed on SELinux systems (Rocky/Alma)
umount -R /mnt
reboot

Paso 4: comprueba el inicio de sesión y deja todo en orden

Inicia sesión por SSH con la nueva contraseña. Si sigue apareciendo Permission denied, comprueba si el inicio de sesión de root con contraseña está desactivado en /etc/ssh/sshd_config.d/. En ese caso, inicia sesión por VNC y configura una clave SSH. Una vez restablecida, te recomendamos configurar la autenticación por clave de inmediato y guardar la contraseña en un gestor de contraseñas.

Preguntas frecuentes

¿Restablecer la contraseña root borra datos de mi servidor?

No. Estos métodos solo cambian el hash de la contraseña en /etc/shadow y no tocan tus webs, bases de datos ni otros datos de negocio. Aun así, trabajar en la consola conlleva riesgo de error humano, así que haz una copia de seguridad antes.

He cambiado la contraseña en Rocky Linux, pero sigo sin poder entrar

La causa más habitual es haber olvidado touch /.autorelabel, por lo que SELinux se niega a leer el nuevo archivo shadow. Vuelve a arrancar con rd.break y ejecuta ese comando.

¿Puedo restablecer la contraseña root directamente desde el Centro de Clientes?

Algunos productos cloud pueden admitir el restablecimiento en línea, pero depende del agente incluido en la imagen y del tipo de producto. Comprueba qué funciones están realmente disponibles en la página de detalles del producto en el Centro de Clientes de IMIDC. Si no existe esa opción, sigue esta guía manualmente o envía un ticket.

¿Y si el teclado escribe caracteres incorrectos en la consola VNC?

Puede que la distribución del teclado no coincida. Evita los caracteres especiales y establece primero una contraseña temporal sencilla; después inicia sesión por SSH y usa passwd para cambiarla por una robusta.

Resumen

Mientras tengas acceso a la consola, olvidar la contraseña root no obliga a reinstalar: en la familia RHEL usa rd.break y no olvides forzar el reetiquetado de SELinux; en Debian/Ubuntu usa init=/bin/bash; y recurre al modo rescate cuando GRUB no esté disponible. Los planes de VPS en la nube de IMIDC incluyen una consola VNC para este tipo de recuperación de emergencia. Para el control remoto o el rescate de servidores dedicados, envía un ticket a través del Centro de Clientes; nuestro equipo técnico responde 24/7.

Lecturas relacionadas

¿Fue útil la respuesta?

Tutoriales relacionados