Cómo cambiar o recuperar la clave de root de tu servidor
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.
passwdSi 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
- Abrí la consola de rescate del panel y, con la consola a la vista, reiniciá el servidor.
- 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.
- Con la primera opción marcada, apretá
e. - Bajá con las flechas hasta la línea que empieza con
linux, andá al final con Fin o Ctrl+E y agregá un espacio yinit=/bin/bash. Si en esa línea hay unsplash, borralo: la pantalla de carga puede tapar el prompt. - 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- Si te salteás el
mount,passwdfalla con "Authentication token manipulation error": no puede escribir el archivo de contraseñas. - 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.
- En AlmaLinux, antes de salir, corré
touch /.autorelabel. Coninit=/bin/bashSELinux 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. - Seguí el arranque normal con
exec /sbin/init. Si no avanza,reboot -freinicia 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
exitQué cambia en cada distribución
| Debian 12 y Ubuntu 24.04 | AlmaLinux 9 | |
|---|---|---|
| Menú de GRUB | En 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 linux | init=/bin/bash | init=/bin/bash, o rd.break |
| Habilitar la escritura | mount -o remount,rw / | Igual. Con rd.break, mount -o remount,rw /sysroot y chroot /sysroot |
| Antes de salir | Nada más | touch /.autorelabel |
| Seguir el arranque | exec /sbin/init o reboot -f | Igual. 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
lasty 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
Cómo crear un usuario administrador con sudo en Linux
Un usuario propio con sudo en Debian, Ubuntu y AlmaLinux, en vez de un segundo root: cómo crearlo, probarlo, cargarle tu clave SSH y limitar el acceso de root.
Claves SSH desde Linux y macOS para entrar sin contraseña
Generá una clave ed25519, copiala al servidor con ssh-copy-id, sumá un alias y ssh-agent, y mirá qué revisar si el servidor igual te pide la contraseña.
Cómo cambiar o recuperar la clave de root de MySQL y MariaDB
Por qué el viejo UPDATE con PASSWORD() ya no funciona, cómo cambiar la clave con ALTER USER y cómo recuperarla si la perdiste, en MySQL 8 y MariaDB.