Cómo cambiar o recuperar la clave de root de tu servidor

· 5 min de lectura · por el equipo técnico de VPS Argentina

Si podés entrar, la clave de root se cambia con passwd. Si la perdiste, se recupera desde la consola de rescate del panel: reiniciás el servidor, en el menú de GRUB apretás e, agregás init=/bin/bash a la línea del kernel, habilitás la escritura en el disco con mount -o remount,rw / y corrés passwd root. En AlmaLinux falta un paso, touch /.autorelabel, para que SELinux no bloquee el ingreso. No se pierden datos, pero el servidor queda fuera de servicio mientras reinicia.

Si todavía podés entrar

Conectado como root, passwd te pide la contraseña nueva dos veces. Mientras la escribís no se ve nada: es normal. Desde un usuario con sudo, el equivalente es sudo passwd root, y para cambiar la de otro usuario, passwd juan.

El cambio no cierra las sesiones abiertas ni toca las claves SSH: quien entra con clave sigue entrando. Aunque uses claves, guardá la contraseña en un lugar seguro, porque es la que te pide la consola de rescate.

passwd

Si la perdiste: cómo funciona la recuperación

Si entrás con una clave SSH, no necesitás nada de lo que sigue: conectate con la clave y usá passwd.

Si no, se trabaja desde la consola de rescate del panel, que muestra la pantalla del servidor como si tuviera un monitor conectado, arranque incluido. La idea es frenar el arranque en GRUB y pedirle a Linux que, en lugar de iniciar el sistema, abra una consola de root sin contraseña. Ahí ponés una nueva y el arranque sigue normalmente.

Frenar el arranque en GRUB

  1. Abrí la consola de rescate del panel y, con la consola a la vista, reiniciá el servidor.
  2. Cuando aparezca el menú de GRUB, apretá una flecha para frenar la cuenta regresiva. En Ubuntu el menú suele venir oculto: mantené apretada la tecla Shift, o apretá Esc, apenas empieza el arranque.
  3. Con la primera opción marcada, apretá e.
  4. Bajá con las flechas hasta la línea que empieza con linux, andá al final con Fin o Ctrl+E y agregá un espacio y init=/bin/bash. Si en esa línea hay un splash, borralo: la pantalla de carga puede tapar el prompt.
  5. Arrancá con Ctrl+X o F10. En unos segundos aparece un prompt de root, sin pedir contraseña. Si no aparece y la línea incluía console=ttyS0 (a veces con una coma y más datos), el prompt salió por otra consola: reiniciá, repetí los pasos y borrá ese parámetro.

Poner la contraseña nueva

En esa consola el disco está montado en modo de solo lectura. Habilitá la escritura y cambiá la contraseña:

mount -o remount,rw /
passwd root
  1. Si te salteás el mount, passwd falla con "Authentication token manipulation error": no puede escribir el archivo de contraseñas.
  2. Poné una provisoria, con letras y números. En esa consola los símbolos pueden salir cambiados según la distribución de tu teclado. La definitiva la ponés después, por SSH.
  3. En AlmaLinux, antes de salir, corré touch /.autorelabel. Con init=/bin/bash SELinux no está cargado, y el archivo de contraseñas nuevo queda sin su etiqueta: al arrancar, SELinux no deja leerlo y no vas a poder entrar. Con ese archivo, el próximo arranque reetiqueta el disco, tarda más de lo normal y reinicia solo una vez.
  4. Seguí el arranque normal con exec /sbin/init. Si no avanza, reboot -f reinicia en el momento.

En AlmaLinux, con rd.break

Es el método que documenta Red Hat, y también sirve en AlmaLinux. En lugar de init=/bin/bash agregás rd.break, y el arranque se frena antes de pasar al sistema instalado, que queda montado en /sysroot y en solo lectura. Por eso hay un paso más, chroot /sysroot, que te pone dentro de ese sistema para que passwd cambie su contraseña y no la del entorno de arranque.

Al final, el primer exit sale del chroot y el segundo deja seguir el arranque, que reetiqueta el disco y reinicia solo.

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

Qué cambia en cada distribución

Debian 12 y Ubuntu 24.04AlmaLinux 9
Menú de GRUBEn Debian suele aparecer solo. En Ubuntu suele venir oculto: Shift o Esc al arrancar.Suele aparecer solo, con cuenta regresiva.
Qué agregar a la línea linuxinit=/bin/bashinit=/bin/bash, o rd.break
Habilitar la escrituramount -o remount,rw /Igual. Con rd.break, mount -o remount,rw /sysroot y chroot /sysroot
Antes de salirNada mástouch /.autorelabel
Seguir el arranqueexec /sbin/init o reboot -fIgual. Con rd.break, exit dos veces

En los tres casos el servidor queda fuera de servicio mientras reinicia. En AlmaLinux, el reetiquetado de SELinux alarga el primer arranque.

Después de recuperar el acceso

  • Entrá por SSH y cambiá la contraseña provisoria por la definitiva con passwd.
  • Guardala en un gestor de contraseñas y, si todavía entrás con contraseña, pasá a claves SSH: no se pueden adivinar probando.
  • Si la contraseña dejó de funcionar sin que nadie la cambiara, puede que alguien haya entrado. Mirá los últimos ingresos con last y escribinos por ticket.

Preguntas frecuentes

¿Se pierde algo con este procedimiento?

No. Solo cambia la contraseña de root: archivos, sitios y bases de datos quedan como estaban. Lo que se corta es el servicio mientras el servidor reinicia.

¿Es la misma que la contraseña de root de MySQL?

No. La de la base de datos es otra y no cambia con esto. Para esa hay una guía aparte.

¿Cualquiera podría hacer esto con mi servidor?

Hace falta entrar a tu cuenta y abrir la consola de rescate del panel. Por eso conviene cuidar el acceso a tu cuenta tanto como el del servidor: una contraseña larga que no uses en otro lado.

¿Y si el servidor tiene Windows?

En Windows se entra por escritorio remoto con el usuario Administrador, y la contraseña se recupera de otra forma. Escribinos por ticket desde el área de clientes.

Seguí leyendo