Clave de root: cómo cambiarla y cómo recuperarla si la perdiste
En pocas palabras
Si todavía entrás al servidor, la clave de root se cambia con sudo passwd root, o con passwd si ya sos root. Si la perdiste y no tenés otra forma de entrar, se recupera desde la consola del servidor: reiniciás, en el menú de GRUB editás la entrada con la tecla e, sumás init=/bin/bash al final de la línea que empieza con linux y arrancás con Ctrl+X. Aparece una terminal de root: habilitás la escritura con mount -o remount,rw / y ahí ponés la contraseña nueva. En AlmaLinux falta crear /.autorelabel, porque si no, SELinux impide iniciar sesión después. No se pierde nada, pero el servidor se reinicia.
Antes de empezar: ¿perdiste la clave o solo el acceso?
Muchos pedidos de recuperación terminan siendo otra cosa. Revisá estos casos antes de reiniciar nada:
- SSH responde
Permission deniedaunque la clave es correcta. En las versiones actuales de OpenSSH, root no puede entrar con contraseña salvo que alguien lo habilite (PermitRootLogin prohibit-passwordes el valor por defecto). Se entra con un usuario común y despuéssudo -i, o con una clave SSH. - La conexión ni siquiera llega: queda esperando hasta que se agota el tiempo. Eso no es la contraseña; es la red o un firewall que bloqueó tu IP. Probá desde otra conexión.
- Entrás con un usuario que tiene sudo, o con una clave SSH. Entonces no perdiste nada:
sudo passwd rooty listo. - La contraseña dejó de funcionar sin que nadie la cambiara. Recuperala, pero tratalo como una posible intrusión (al final, qué revisar).
Cambiarla con la sesión abierta
passwd pide la contraseña nueva dos veces y no muestra nada mientras escribís, ni siquiera asteriscos. Si estás como root, cambia la de root; con un usuario con sudo, usá sudo passwd root. Para cambiar la de otro usuario, sudo passwd nombre.
El cambio no corta las sesiones abiertas ni afecta a las claves SSH. Que sea larga y que la guarde un gestor de contraseñas; si querés generarla desde la terminal, openssl rand -base64 18 te da una de 24 caracteres.
sudo passwd rootCómo funciona la recuperación
Sin contraseña y sin otro acceso, el camino es la consola del servidor: una pantalla remota que muestra lo mismo que vería un monitor conectado, arranque incluido. En los servidores cloud de InHosting es la consola de rescate; si no sabés cómo abrir la de tu servicio, pedila por ticket desde el área de clientes.
La idea es interrumpir el arranque en GRUB, el menú que elige qué iniciar, y cambiarle una instrucción al núcleo por única vez: en lugar de levantar los servicios y pedir usuario, que abra directamente una terminal de root. Ahí ponés una contraseña nueva y reiniciás. Lo que editás en GRUB no se guarda: el arranque siguiente es el normal.
El modo de recuperación de Ubuntu y el modo de rescate de systemd no sirven para esto: si root tiene contraseña, los dos la piden.
Paso a paso en Debian y Ubuntu
- Abrí la consola y, con ella a la vista, reiniciá el servidor.
- Apenas empieza el arranque, frená el menú de GRUB con una flecha. En Ubuntu suele estar oculto: mantené apretado Shift o tocá Esc varias veces.
- Con la entrada principal elegida, apretá
epara editarla. - Buscá la línea que empieza con
linux, andá al final (Fin o Ctrl+E) y sumá un espacio yinit=/bin/bash. Si vesquiet splash, borralos para ver los mensajes. Si vesconsole=ttyS0, borralo también: manda la terminal a una consola serie que no estás mirando. - Arrancá con Ctrl+X o F10. En unos segundos aparece un prompt que termina en
#, sin pedir nada. - Corré los cuatro comandos de abajo. El primero habilita la escritura, porque el disco arranca en solo lectura;
syncasegura que el cambio quede grabado antes del reinicio forzado.
Si ves el error "Authentication token manipulation error", es que te salteaste el primer comando y passwd no pudo escribir. Poné una contraseña provisoria de letras y números: en esa terminal el teclado puede estar en otra distribución y los símbolos salen cambiados.
mount -o remount,rw /
passwd
sync
reboot -fEn AlmaLinux: el detalle de SELinux
En AlmaLinux 9 y 10, y en CentOS Stream, el procedimiento es el mismo, con dos diferencias. En la línea linux, además de sumar init=/bin/bash, borrá rhgb quiet para ver qué pasa. Y antes de reiniciar hay un comando más.
Con este arranque SELinux no está activo, y el archivo de contraseñas que escribe passwd queda sin su etiqueta de seguridad. Al volver a arrancar normal, SELinux no deja que el sistema lo lea y ningún usuario puede iniciar sesión. Para evitarlo se crea un archivo vacío en la raíz: el próximo arranque reetiqueta todo el disco (de unos segundos a varios minutos, según cuántos archivos haya) y reinicia solo una vez.
mount -o remount,rw /
passwd
touch /.autorelabel
sync
reboot -fRed Hat documenta otra variante que en AlmaLinux funciona igual: en lugar de init=/bin/bash se agrega rd.break. El arranque se detiene antes de pasar al sistema instalado, que queda montado en /sysroot, así que hay que entrar ahí con chroot antes de cambiar la contraseña. El primer exit sale del chroot y el segundo deja seguir el arranque.
mount -o remount,rw /sysroot
chroot /sysroot
passwd
touch /.autorelabel
exit
exitSi algo no sale como esperabas
| Lo que pasa | Por qué | Qué hacer |
|---|---|---|
| El prompt no aparece y la pantalla queda quieta | La terminal salió por una consola serie | Reiniciá y borrá console=ttyS0 de la línea linux |
passwd se queja de que no puede escribir | El disco sigue en solo lectura | Corré mount -o remount,rw / y repetí |
| La contraseña nueva no funciona al entrar | La terminal usaba otra distribución de teclado | Repetí con una contraseña sin símbolos |
| En AlmaLinux nadie puede entrar después del reinicio | Faltó el reetiquetado de SELinux | Repetí el procedimiento y creá /.autorelabel |
| GRUB pide usuario y contraseña para editar | El menú está protegido | Escribinos por ticket: no hay atajo |
| El arranque pide una frase de cifrado | El disco está cifrado | Sin esa frase no hay recuperación posible |
Después de recuperar el acceso
- Entrá por SSH con la contraseña provisoria y cambiala por la definitiva.
- Pasá a entrar con claves SSH y desactivá el ingreso con contraseña. Una clave no se adivina probando.
- Creá un usuario con sudo para el trabajo diario, así root no necesita entrar nunca por SSH.
- Si la contraseña dejó de funcionar sola, revisá quién entró:
lastmuestra los últimos ingresos yjournalctl -u ssh(en AlmaLinux,-u sshd) el detalle de cada conexión. Si ves algo raro, escribinos por ticket.
Preguntas frecuentes
¿Se borra algo con este procedimiento?
No. Solo se reescribe la contraseña de root; archivos, sitios, bases y configuración quedan intactos. Lo que se pierde es el servicio durante los minutos del reinicio.
¿Es la misma contraseña que la de root de MySQL o MariaDB?
No, son cuentas distintas: una es del sistema operativo y la otra, del motor de base de datos. Cambiar una no toca la otra. Para la de la base, seguí la guía para cambiar la clave de root de MySQL.
Si esto se puede hacer, ¿mi servidor es inseguro?
No: hace falta acceso a la consola del servidor, que no está abierta a Internet como SSH. Lo que sí conviene es cuidar tu cuenta del área de clientes con una contraseña larga y única, porque desde ahí se gestiona el servicio.
¿Y si el servidor tiene Windows Server?
En Windows la cuenta equivalente es Administrador y se entra por escritorio remoto. Si perdiste esa contraseña, el procedimiento es otro y depende de la versión: escribinos por ticket desde el área de clientes y lo vemos con vos.
Seguí leyendo
Claves SSH para entrar a tu servidor sin contraseña
Generar una clave ed25519 en Linux, macOS o Windows, cargarla en el servidor, usar el agente y apagar el acceso por contraseña sin quedarte afuera.
8 min de lectura
Usuario administrador con sudo: crearlo y dejar de entrar como root
Cómo crear tu usuario con sudo en Debian, Ubuntu y AlmaLinux, pasarle la clave SSH, probarlo y recién después cerrar el acceso de root por SSH.
7 min de lectura
Clave de root de MySQL o MariaDB: cómo cambiarla y recuperarla
Cómo saber si root entra por socket o con clave, cambiarla con ALTER USER y recuperarla si se perdió, en MySQL y MariaDB sobre Debian, Ubuntu y AlmaLinux.
6 min de lectura
