Gratis Te mudamos el sitio y los correos sin cortes ni costo

0810 345 6377 ESEN, cambiar a inglés
InHosting
ESEN, cambiar a inglés

Servidores Linux

Clave de root: cómo cambiarla y cómo recuperarla si la perdiste

Por el equipo técnico de InHosting6 min de lectura

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 denied aunque la clave es correcta. En las versiones actuales de OpenSSH, root no puede entrar con contraseña salvo que alguien lo habilite (PermitRootLogin prohibit-password es el valor por defecto). Se entra con un usuario común y después sudo -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 root y 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 root

Có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

  1. Abrí la consola y, con ella a la vista, reiniciá el servidor.
  2. 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.
  3. Con la entrada principal elegida, apretá e para editarla.
  4. Buscá la línea que empieza con linux, andá al final (Fin o Ctrl+E) y sumá un espacio y init=/bin/bash. Si ves quiet splash, borralos para ver los mensajes. Si ves console=ttyS0, borralo también: manda la terminal a una consola serie que no estás mirando.
  5. Arrancá con Ctrl+X o F10. En unos segundos aparece un prompt que termina en #, sin pedir nada.
  6. Corré los cuatro comandos de abajo. El primero habilita la escritura, porque el disco arranca en solo lectura; sync asegura 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 -f

En 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 -f

Red 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
exit

Si algo no sale como esperabas

Lo que pasaPor quéQué hacer
El prompt no aparece y la pantalla queda quietaLa terminal salió por una consola serieReiniciá y borrá console=ttyS0 de la línea linux
passwd se queja de que no puede escribirEl disco sigue en solo lecturaCorré mount -o remount,rw / y repetí
La contraseña nueva no funciona al entrarLa terminal usaba otra distribución de tecladoRepetí con una contraseña sin símbolos
En AlmaLinux nadie puede entrar después del reinicioFaltó el reetiquetado de SELinuxRepetí el procedimiento y creá /.autorelabel
GRUB pide usuario y contraseña para editarEl menú está protegidoEscribinos por ticket: no hay atajo
El arranque pide una frase de cifradoEl disco está cifradoSin 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ó: last muestra los últimos ingresos y journalctl -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

¿Preferís que lo veamos juntos? Te atiende una persona.

Si la guía no alcanza para tu caso, contanos qué necesitás: te ayudamos a elegir el plan, a migrar o a configurar tu servidor.

Hablar con un técnico