Perder una contraseña en un sistema Linux puede convertirse rápidamente en un obstáculo crítico, ya sea en una estación de trabajo, un servidor corporativo o incluso una Raspberry Pi doméstica. Afortunadamente, el ecosistema Linux, con una amplia gama de distribuciones como Ubuntu, Debian, Fedora, Arch Linux, CentOS, Linux Mint, openSUSE, Manjaro, Raspberry Pi OS y Red Hat, ofrece varios métodos robustos para recuperar o restablecer una contraseña olvidada. Estos métodos varían según la configuración del sistema, el acceso al hardware y los entornos de arranque, pero siempre comparten un objetivo común: restaurar el acceso de forma segura al usuario legítimo, minimizando los riesgos para la integridad de los datos. Esta guía práctica le guía paso a paso a través de estas tareas esenciales, explicando los mecanismos subyacentes del sistema, ilustrando los comandos y ofreciendo consejos prácticos para gestionar eficazmente un restablecimiento sin comprometer la seguridad. Procedimiento completo para restablecer una contraseña de Linux con una memoria USB en vivo.
Cuando se pierde la contraseña de usuario o root, uno de los métodos más seguros y versátiles para recuperarla es a través de un entorno en vivo de Linux, generalmente arrancado desde una unidad USB de arranque. Esta técnica se aplica a las distribuciones más populares, como Ubuntu, Debian, Fedora o Arch Linux, y proporciona control total sobre los archivos del sistema sin modificar la instalación existente.
Creación y arranque desde una memoria USB Live de Linux
Para empezar, es esencial contar con una unidad USB de arranque que contenga una imagen de Linux. Herramientas como Rufus o Ventoy
Facilitar esta creación. Ventoy, por ejemplo, es particularmente útil para almacenar múltiples imágenes ISO en una sola unidad, una gran ventaja para los administradores de sistemas que utilizan distribuciones como CentOS, openSUSE o Linux Mint. Después de preparar la unidad USB, deberá cambiar el orden de arranque en la BIOS/UEFI o usar el menú de arranque (a menudo accesible mediante las teclas F8, F12 o Esc, según el fabricante) para arrancar desde la unidad. Este paso le introduce a un sistema Linux temporal sin sobrescribir la instalación local. Identificar y montar la partición del sistema Una vez en el entorno Live, abra una terminal. El comando lsblk lista todos los dispositivos de almacenamiento y sus particiones: lsblk localiza la unidad principal (a menudo llamada sda) y su partición raíz (p. ej., sda2). Los tamaños y las etiquetas indicados ayudan a identificar la partición correcta, lo cual es esencial para evitar errores. Una vez identificada, debe montar esta partición en un punto de acceso para acceder a ella. Por ejemplo: sudo mount /dev/sda2 /mnt
Este montaje expone todo el sistema de archivos instalado en la partición, sin sobrescribir ni modificar nada en esta etapa. Cambiar la raíz del sistema para que funcione en la instalación real (chroot) El comando chroot (cambiar la raíz) es un truco fundamental que cambia el contexto de los comandos a la partición montada:
sudo chroot /mnt
Entonces, estará en su sistema almacenado en disco, incluso si arrancó desde la unidad USB activa. Todos los cambios, incluyendo el restablecimiento de contraseña, se aplicarán directamente a su sistema. Restablecer la contraseña de usuario o root Antes de cambiar una contraseña, es útil revisar la lista de cuentas de usuario:
- ls /home Este comando lista los directorios de usuario, indicando los nombres de las cuentas presentes. Para cambiar la contraseña de un usuario, se usa el siguiente comando:passwd user Por ejemplo, para restablecer la contraseña del usuario “alice”:passwd alice
- El sistema solicitará la nueva contraseña dos veces para confirmarla. Tenga en cuenta que en esta terminal, el teclado suele estar configurado en QWERTY por defecto, así que tenga cuidado con los caracteres introducidos.
Para cambiar la contraseña de root, en chroot, el comando es más sencillo:
passwd
Esto modifica directamente la contraseña de superusuario. Este paso es crucial para recuperar el acceso completo si se pierde esta contraseña.
Finalice y reinicie el sistema
Una vez realizados los cambios, salga del entorno chroot y reinicie el equipo: exit para salir del chroot.sudo rebootpara reiniciar.
No olvide retirar la unidad USB o reconfigurar el orden de arranque para que arranque automáticamente desde el disco. Usar GRUB para restablecer una contraseña perdida en Linux
El gestor de arranque GRUB (Grand Unified Bootloader) es clave para acceder a las diferentes versiones de Linux instaladas en un equipo y ofrece un método intuitivo para restablecer una contraseña sin una unidad USB. Este método es ideal para distribuciones populares como Ubuntu, Fedora, openSUSE y Arch Linux.
Acceder y modificar las opciones de arranque de GRUB
Al arrancar el sistema, pulse la tecla MAYÚS o Esc para mostrar el menú de GRUB. Algunas distribuciones ocultan este menú por defecto, por lo que es importante saber cómo forzar su aparición.
Una vez en el menú, navegue hasta la entrada correspondiente a la instalación de Linux (p. ej., “Ubuntu”) y pulse la tecla e para editar las opciones de arranque.
Verá un editor con varias líneas, incluyendo una que empieza por “linux”.
Modificar la configuración para arrancar en modo root.
En esta línea, debe:
Eliminar las opciones
ro quiet splash $vt_handoff
que corresponden a directivas de montaje de solo lectura y al modo gráfico silencioso.
Reemplazarlas por
rw init=/bin/bash
. Esta modificación indica al sistema que monte la partición en modo lectura-escritura (rw) e inicie directamente una shell bash como proceso inicial.
Luego, presione
CTRL + X
- o F10
- para arrancar con la configuración modificada. En unos instantes, aparecerá un mensaje de root: root@(none):~#
.
Restablecer contraseñas desde la shell root
En este contexto, el sistema es minimalista y no requiere contraseña para el acceso root, lo que facilita las reparaciones. Simplemente escriba:
passwd user
o passwd para cambiar la contraseña root. Recuerde montar la partición del sistema en modo lectura-escritura si es necesario: mount -o remount,rw / Una vez cambiada la contraseña, reinicie el sistema normalmente con:
exec /sbin/init El sistema terminará de arrancar normalmente y podrá iniciar sesión con la nueva contraseña. Usar el modo de recuperación para cambiar una contraseña
Si conoce la contraseña de root, también puede usar el modo de recuperación, accesible a través del menú de GRUB:
Seleccione
Opciones avanzadas para Ubuntu
- o su equivalente en su distribución. Elija modo de recuperación.
- Acceda a la línea de comandos de root mediante el símbolo del sistema. Cambie las contraseñas como de costumbre conpasswd
. Este método suele ser el preferido para operaciones de mantenimiento sin una unidad USB. https://www.youtube.com/watch?v=OTuA_TQ-eHk Resolver errores de la cadena de llaves de GNOME tras restablecer la contraseña Es frecuente ver un mensaje de error al iniciar sesión tras restablecer la contraseña en distribuciones como Ubuntu, Fedora o Linux Mint: “Su contraseña no coincide con la del directorio”. Este mensaje indica una discrepancia entre la contraseña de la cuenta de usuario y la utilizada para desbloquear el llavero de GNOME, la herramienta que almacena datos de Wi-Fi, SSH, VPN y otros datos confidenciales.Administrar el llavero de GNOME con Seahorse
Para solucionar este problema, debe sincronizar o restablecer este llavero. La herramienta gráfica Seahorse le permite administrar fácilmente las contraseñas almacenadas:
Inicie Seahorse desde el menú o con el comando seahorse en una terminal.
En la sección “Iniciar sesión”, haga clic con el botón derecho en el llavero en cuestión y seleccione “Eliminar”.
Confirme la eliminación; esto borrará todas las contraseñas guardadas (Wi-Fi, SSH, etc.).
Cierre sesión o reinicie para que el llavero se vuelva a crear automáticamente la próxima vez que inicie sesión. Para evitar la pérdida de datos, se recomienda hacer una copia de seguridad de las contraseñas antes de esta operación, si es posible. Crear manualmente un nuevo llavero Si el llavero no se crea de nuevo automáticamente tras eliminarlo, puede hacerlo manualmente a través de Seahorse:
Seleccione
Añadir contraseña
y luego
Nuevo llavero
.
Asigne un nombre al llavero y establezca una nueva contraseña, idealmente la misma que la de la cuenta de usuario para evitar futuros errores.
Después, reinicie la sesión.
- Estos pasos garantizan una experiencia de usuario fluida tras la recuperación de la contraseña. https://www.youtube.com/watch?v=sUp5ZKtXo1M Mejores prácticas y recomendaciones para proteger su sistema Linux tras un restablecimiento
- La facilidad para restablecer una contraseña en Linux, si bien es una gran ayuda, resalta la importancia de una buena política de seguridad, especialmente en distribuciones utilizadas en empresas como Red Hat, CentOS o Debian. El acceso físico a una máquina abre la puerta a una intrusión casi total si no se toman medidas adicionales. Acceso físico seguro y el cargador de arranquePara evitar que alguien modifique la configuración de GRUB o arranque desde un Live USB, se deben implementar varias medidas de seguridad:
- Protección BIOS/UEFI
- : Agregue una contraseña para evitar modificaciones no autorizadas. Contraseña de GRUB: Esto evita la edición no autorizada de las opciones de arranque que permiten iniciar un shell root.
Cifrado de disco
o VeraCrypt
: Incluso al acceder a un Live USB, los datos permanecen protegidos.
Limite el acceso físico a máquinas críticas tanto como sea posible. Implemente procedimientos de gestión de copias de seguridad y acceso.Además de la protección física, una buena gestión de contraseñas y permisos es esencial en Linux:
Use contraseñas complejas y distintas para las cuentas de usuario y root. Implemente un gestor de contraseñas compatible con Linux, como nmcli, para la gestión de la red y una fácil integración. Acceda a los documentos y cambie regularmente las contraseñas confidenciales.Instruya a los usuarios para que nunca compartan sus contraseñas en texto plano.
Utilice herramientas de notificación y monitorización.
Algunos proyectos de código abierto ofrecen funciones avanzadas para monitorizar el estado del sistema y detectar anomalías que podrían indicar acceso no autorizado: Linux implementa un sistema estandarizado para alertar al usuario sobre fallos críticos de hardware, como fallos de la GPU (más información aquí). Se recomienda el uso de sistemas de registro con análisis en tiempo real para rastrear los cambios en las cuentas de usuario.
- https://www.youtube.com/watch?v=PFU3sjNxZZY