Entrar Empieza gratis
Lightsail

Un usuario de rescate para no quedarte fuera de tu máquina

Perder la clave SSH o la contraseña de Administrator de una máquina en AWS es más fácil de lo que parece, y cuando llevas máquinas de varios clientes es cuestión de tiempo. Cómo dejar preparada una puerta de emergencia que nadie pueda usar salvo tú, y qué hacer si ya has perdido el acceso.

⏱ 20 minutos ◎ Para todos Actualizada el 29/10/2026

Una máquina en la nube no tiene un teclado al que acercarse. Si pierdes la clave SSH, si alguien cambió la contraseña de Administrator y se fue de la empresa, o si un cambio en la configuración de SSH te deja fuera, la máquina sigue funcionando pero tú ya no mandas en ella. Lightsail te saca del apuro en Linux (su consola web entra con una clave temporal), pero en Windows solo si nadie tocó la contraseña, y en EC2 el camino oficial pasa por parar la máquina. Esta guía te enseña a dejar preparada una puerta de emergencia antes de necesitarla, hecha para que solo tú puedas usarla.

Antes de empezar: qué significa cada cosa

Usuario de rescate
Un usuario administrador más en la máquina, que no se usa para trabajar: solo para recuperar el acceso al resto.
Certificado SSH
Una "clave con fecha de caducidad" firmada por una autoridad en la que la máquina confía. A diferencia de una clave normal, no hay que copiarla a la máquina y puede valer solo cinco minutos.
Autoridad de certificados (CA)
La clave que firma esos certificados. La máquina acepta a quien traiga un certificado firmado por ella; sin la CA no se puede fabricar ninguno.
from=
Una condición en la configuración de SSH: ese usuario solo puede entrar desde una dirección IP concreta.
sudo / Administrators
La forma de ser administrador en Linux (sudo) y en Windows (grupo Administrators).

Paso a paso

  1. Decide cómo quieres que sea la puerta de emergencia

    Un usuario de rescate mal hecho es peor que no tenerlo: una contraseña apuntada en un documento compartido es la primera puerta que prueba un atacante. Lo que buscamos: que no tenga contraseña, que solo admita certificados firmados por ti y de corta duración, y a ser posible que solo acepte conexiones desde una IP fija tuya. Así, aunque alguien conozca el nombre del usuario, no tiene nada que probar.

  2. Crea una autoridad de certificados (una sola vez)

    En tu ordenador, no en la máquina:

    ssh-keygen -t ed25519 -f ca_rescate -C "CA de rescate"

    Guarda ca_rescate (la privada) en un sitio seguro: un gestor de contraseñas o un disco cifrado. Nunca la copies a las máquinas. El fichero ca_rescate.pub es el que irá a cada máquina.

  3. Prepara la máquina Linux

    Entra por SSH como siempre (todavía puedes) y, con sudo:

    sudo useradd -m -s /bin/bash -c "Usuario de rescate" rescate
    sudo usermod -p "*" rescate          # sin contraseña valida, sin bloquear
    echo "rescate ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/90-rescate
    sudo chmod 440 /etc/sudoers.d/90-rescate
    sudo cp ca_rescate.pub /etc/ssh/ca_rescate.pub
    echo 'from="TU.IP.FIJA" rescate' | sudo tee /etc/ssh/principales_rescate

    Y en /etc/ssh/sshd_config (o un fichero en /etc/ssh/sshd_config.d/), al principio:

    TrustedUserCAKeys /etc/ssh/ca_rescate.pub
    AuthorizedPrincipalsFile /etc/ssh/principales_rescate

    Comprueba y recarga: sudo sshd -t && sudo systemctl reload ssh. El usuario rescate no tiene contraseña y solo acepta certificados de tu CA, y solo desde tu IP si pusiste from=.

  4. Prepara la máquina Windows

    Windows Server 2019 y posteriores traen OpenSSH como característica opcional. En PowerShell como administrador: Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0, arranca el servicio sshd y abre el puerto 22 en el cortafuegos de Windows y en el de Lightsail o EC2 (solo para tu IP). Crea el usuario sin contraseña con New-LocalUser rescate -NoPassword, mételo en Administrators, y en C:\ProgramData\ssh\sshd_config pon las mismas dos líneas que en Linux (las rutas con __PROGRAMDATA__/ssh/). Reinicia sshd. Si quieres que al entrar salga PowerShell en vez de cmd, fija la clave de registro HKLM:\SOFTWARE\OpenSSH\DefaultShell a powershell.exe.

  5. Prueba la puerta antes de necesitarla

    Genera una clave normal y fírmala con la CA por cinco minutos:

    ssh-keygen -t ed25519 -f temporal -N ""
    ssh-keygen -s ca_rescate -I "prueba" -n rescate -V +5m temporal.pub
    ssh -i temporal rescate@IP.DE.LA.MAQUINA sudo -n true && echo OK

    Si ves OK, la puerta funciona. Pasados cinco minutos el certificado deja de valer solo: no hay nada que revocar ni borrar.

  6. Si ya has perdido el acceso: qué hacer con la puerta abierta

    Entra con un certificado nuevo y arregla al administrador: en Linux sudo passwd ubuntu (o el usuario que sea) o añade tu clave pública nueva a su ~/.ssh/authorized_keys; en Windows net user Administrator NUEVA-CONTRASEÑA. Si la cuenta estaba bloqueada, sudo passwd -u usuario o net user usuario /active:yes.

  7. Y si no tenías puerta de emergencia

    Linux en Lightsail: la consola web de Lightsail entra con una clave temporal, así que desde ahí puedes hacer lo del paso anterior. Windows en Lightsail: la consola te da la contraseña de Administrator solo si nadie la cambió; si no, toca crear una instantánea y una máquina nueva. EC2: el procedimiento oficial AWSSupport-ResetAccess de Systems Manager restablece la contraseña o la clave parando y arrancando la máquina.

Qué puede salir mal

"Permission denied" aunque el certificado es correcto

Casi siempre es el from=: estás entrando desde otra IP. O el usuario tiene el campo de contraseña bloqueado con ! (lo deja useradd por defecto en algunos sistemas): ponle * con usermod -p "*".

La máquina ya usaba TrustedUserCAKeys

Entonces otra autoridad ya firma certificados para esa máquina. No pongas la segunda sin saber qué hace la primera: pregunta a quien la configuró, o añade tu principal a su fichero de principales.

Alguien borró el usuario de rescate

Quien es administrador puede quitarlo, es inevitable. La defensa es comprobarlo cada día (una conexión de prueba) y avisar si falla, para rehacerlo mientras todavía tienes acceso.

¿Y si me roban la CA?

Quien tenga la CA puede fabricar certificados para todas tus máquinas. Por eso va en un gestor de contraseñas y no en un correo, y por eso el from= importa: sin tu IP, la CA sola no sirve. Si sospechas, genera otra CA y repite el paso de preparación en cada máquina.

En Simplio

En Simplio, cada tarjeta de máquina tiene el botón Rescate. "Proteger" crea en la máquina el usuario simplio-rescate sin contraseña, que solo acepta certificados de cinco minutos firmados por Simplio y, si está configurado, solo desde la IP de Simplio. Si pierdes el acceso, con tu código del doble factor (también si eres administrador) entras como ese usuario o pides directamente una contraseña nueva para el administrador, que se muestra una sola vez y no se guarda. Simplio comprueba cada día que el usuario sigue funcionando y te avisa si alguien lo ha quitado.

Lo mismo, en AWS y en Simplio

En la consola de AWSEn Simplio
Preparar la puertaCrear la CA, el usuario, sudo, los dos ficheros y las directivas de SSH en cada máquina, a manoUn botón "Proteger" en la tarjeta: Simplio lo hace por SSH (Linux) o te da el script para pegar una vez (Windows)
Guardar la CATú, en un gestor de contraseñasEn el servidor de Simplio, en el fichero de secretos; las máquinas solo aceptan al usuario de rescate desde la IP de Simplio
UsarlaFirmar un certificado a mano y entrar por SSHDoble factor, certificado de cinco minutos automático, y acciones guiadas: contraseña nueva (se muestra una vez), clave pública, desbloquear
Saber que sigue funcionandoAcordarte de probarlaComprobación diaria y aviso si la máquina ha perdido su usuario de rescate

Probarlo gratis 15 días Ver cómo funciona

Todo esto, sin la consola de AWS

Simplio es un panel en español para manejar tus cuentas de AWS: máquinas, copias programadas, bases de datos, dominios, correo y lo que te cobra AWS, con permisos por persona y doble factor. Sin instalar nada en tus servidores.

Empieza gratis 15 días, sin tarjeta

¿Ya eres cliente? Acceso clientes.