FR
EspañolEnglishFrançaisDeutschPortuguêsItaliano
Se connecter Commencez gratuitement
Lightsail

Une clé de rechange pour ne pas rester à la porte de votre machine (utilisateur de secours)

Perdre la clé SSH ou le mot de passe Administrator d'une machine chez AWS est plus facile qu'il n'y paraît, et quand vous gérez les machines de plusieurs clients, ce n'est qu'une question de temps. Comment préparer une porte de secours que personne d'autre que vous ne puisse utiliser, et quoi faire si vous avez déjà perdu l'accès.

⏱ 20 minutes ◎ Pour tous Mis à jour le 29/10/2026

Pensez un instant à ce qui se passerait si demain vous ne pouviez plus entrer dans l'une de vos machines. La clé SSH était sur le portable de quelqu'un qui n'est plus là ; le mot de passe Administrator a été changé par un technicien et personne ne l'a noté ; une modification de la configuration SSH a mal tourné et la porte s'est refermée avec vous dehors. La machine continue de fonctionner et le site reste ouvert, mais vous n'en avez plus le contrôle, et chez AWS personne ne vous l'ouvrira : il n'y a pas de « mot de passe oublié » ni de support qui entre à votre place. Lightsail vous tire d'affaire sous Linux (sa console web entre avec une clé temporaire), mais sous Windows seulement si personne n'a jamais touché au mot de passe, et sur EC2 le chemin officiel passe par l'arrêt de la machine. Quand cela ne suffit pas, il reste des heures d'instantanés et de nouvelles machines, au pire moment. Ce guide vous apprend à préparer une porte de secours avant d'en avoir besoin, conçue pour que vous seul puissiez l'utiliser.

Avant de commencer : ce que signifie chaque chose

Utilisateur de secours
Un utilisateur administrateur supplémentaire sur la machine, qui ne sert pas à travailler : seulement à récupérer l'accès au reste.
Certificat SSH
Une « clé avec date d'expiration » signée par une autorité en laquelle la machine a confiance. Contrairement à une clé normale, il n'est pas nécessaire de la copier sur la machine et elle peut ne valoir que cinq minutes.
Autorité de certification (CA)
La clé qui signe ces certificats. La machine accepte quiconque présente un certificat signé par elle ; sans la CA, on ne peut en fabriquer aucun.
from=
Une condition dans la configuration SSH : cet utilisateur ne peut entrer que depuis une adresse IP précise.
sudo / Administrators
La façon d'être administrateur sous Linux (sudo) et sous Windows (groupe Administrators).

Pas à pas

  1. Décidez à quoi doit ressembler la porte de secours

    Un utilisateur de secours mal conçu est pire que pas d'utilisateur du tout : un mot de passe noté dans un document partagé est la première porte qu'essaie un attaquant. Ce que nous cherchons : qu'il n'ait pas de mot de passe, qu'il n'accepte que des certificats signés par vous et de courte durée, et si possible qu'il n'accepte les connexions que depuis une IP fixe à vous. Ainsi, même si quelqu'un connaît le nom de l'utilisateur, il n'a rien à essayer.

  2. Créez une autorité de certification (une seule fois)

    Sur votre ordinateur, pas sur la machine :

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

    Gardez ca_rescate (la clé privée) en lieu sûr : un gestionnaire de mots de passe ou un disque chiffré. Ne la copiez jamais sur les machines. Le fichier ca_rescate.pub est celui qui ira sur chaque machine.

  3. Préparez la machine Linux

    Entrez en SSH comme d'habitude (vous le pouvez encore) et, avec 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

    Et dans /etc/ssh/sshd_config (ou un fichier dans /etc/ssh/sshd_config.d/), au début :

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

    Vérifiez et rechargez : sudo sshd -t && sudo systemctl reload ssh. L'utilisateur rescate n'a pas de mot de passe et n'accepte que les certificats de votre CA, et seulement depuis votre IP si vous avez mis from=.

  4. Préparez la machine Windows

    Windows Server 2019 et versions ultérieures incluent OpenSSH comme fonctionnalité facultative. Dans PowerShell en tant qu'administrateur : Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0, démarrez le service sshd et ouvrez le port 22 dans le pare-feu de Windows et dans celui de Lightsail ou d'EC2 (seulement pour votre IP). Créez l'utilisateur avec un mot de passe aléatoire long que vous ne notez nulle part (ne le créez pas sans mot de passe : Windows bloque par défaut l'accès réseau des comptes à mot de passe vide, et OpenSSH compte comme un accès réseau), mettez-le dans Administrators, copiez ca_rescate.pub et le fichier de principaux dans C:\ProgramData\ssh\ et, dans le sshd_config de ce même dossier, mettez les deux mêmes lignes que sous Linux (les chemins avec __PROGRAMDATA__/ssh/). Un détail qui fait perdre des heures : l'OpenSSH de Windows refuse les fichiers d'authentification lisibles par d'autres utilisateurs, alors retirez-leur l'héritage des permissions et ne laissez qu'Administrators et SYSTEM : icacls FICHERO /inheritance:r /grant Administrators:F /grant SYSTEM:F. Redémarrez sshd. Si vous voulez que PowerShell s'ouvre à la connexion au lieu de cmd, réglez la clé de registre HKLM:\SOFTWARE\OpenSSH\DefaultShell sur powershell.exe.

  5. Testez la porte avant d'en avoir besoin

    Générez une clé normale et signez-la avec la CA pour cinq minutes :

    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 vous voyez OK, la porte fonctionne. Au bout de cinq minutes, le certificat cesse de valoir tout seul : rien à révoquer ni à supprimer.

  6. Si vous avez déjà perdu l'accès : quoi faire une fois la porte ouverte

    Entrez avec un nouveau certificat et réparez l'administrateur : sous Linux sudo passwd ubuntu (ou l'utilisateur concerné) ou ajoutez votre nouvelle clé publique à son ~/.ssh/authorized_keys ; sous Windows net user Administrator NUEVA-CONTRASEÑA. Si le compte était verrouillé, sudo passwd -u usuario ou net user usuario /active:yes.

  7. Et si vous n'aviez pas de porte de secours

    Linux sur Lightsail : la console web de Lightsail entre avec une clé temporaire, donc depuis là vous pouvez faire ce qui est décrit à l'étape précédente. Windows sur Lightsail : la console vous donne le mot de passe Administrator seulement si personne ne l'a changé ; sinon, il faut créer un instantané et une nouvelle machine. EC2 : la procédure officielle AWSSupport-ResetAccess de Systems Manager réinitialise le mot de passe ou la clé en arrêtant puis redémarrant la machine.

  8. Et s'il n'y a pas d'instantané non plus

    C'est le bout de la chaîne et il vaut mieux le regarder en face : si on ne peut pas entrer et qu'il n'existe aucune copie de la machine, tout ce qu'elle contient est perdu. L'application, la base de données, les fichiers, les configurations. AWS ne peut pas entrer à votre place ni récupérer ce qui n'a pas été copié, et il n'y a pas de service technique à appeler. C'est pourquoi la porte de secours et les instantanés automatiques ne sont pas deux options entre lesquelles choisir : ce sont les deux choses qui séparent une frayeur d'une heure de la perte de l'activité d'un client.

Ce qui peut mal tourner

« Permission denied » alors que le certificat est correct

C'est presque toujours le from= : vous entrez depuis une autre IP. Ou l'utilisateur a le champ de mot de passe verrouillé avec ! (c'est ce que laisse useradd par défaut sur certains systèmes) : mettez-lui * avec usermod -p "*".

« Certificate invalid: not yet valid » dans le journal de sshd

L'horloge de la machine retarde. Un certificat de quelques minutes a une heure de début, et si le serveur croit qu'elle n'est pas encore arrivée, il le refuse avec un Permission denied qui n'explique rien : on ne le voit qu'avec LogLevel DEBUG. Sous Linux, timedatectl vous dit si elle est synchronisée et chronyc makestep la corrige ; sous Windows, w32tm /resync. Au moment de signer, laissez toujours une marge vers le passé (-V -15m:+5m) : un début antérieur n'allonge rien de dangereux, puisque l'expiration reste la même.

La machine utilisait déjà TrustedUserCAKeys

C'est le cas de toutes les machines Lightsail : leur console web fonctionne avec une autorité propre, et il ne peut y avoir qu'une seule directive TrustedUserCAKeys. Ne la changez pas, ou vous perdrez la console Lightsail. À la place, mettez l'autorité dans l'authorized_keys de l'utilisateur de secours lui-même, qui cohabite avec n'importe quelle autre : cert-authority,principals="rescate",from="TU.IP.FIJA" ssh-ed25519 AAAA… (le contenu de ca_rescate.pub après les options).

Quelqu'un a supprimé l'utilisateur de secours

Un administrateur peut le retirer, c'est inévitable. La défense consiste à le vérifier chaque jour (une connexion de test) et à prévenir en cas d'échec, pour le refaire pendant que vous avez encore l'accès.

Et si on me vole la CA ?

Quiconque possède la CA peut fabriquer des certificats pour toutes vos machines. C'est pourquoi elle va dans un gestionnaire de mots de passe et non dans un courriel, et c'est pourquoi le from= compte : sans votre IP, la CA seule ne sert à rien. En cas de doute, générez une autre CA et répétez l'étape de préparation sur chaque machine.

Dans Simplio

Dans Simplio, cela s'appelle la clé de rechange : chaque carte de machine a ce bouton. « Créer une clé de rechange » installe sur la machine l'utilisateur simplio-rescate sans mot de passe utilisable, qui n'accepte que des certificats de cinq minutes signés par Simplio et seulement depuis l'IP de Simplio ; sous Linux, Simplio le fait par SSH, sous Windows il vous donne un script à coller une fois. Si vous perdez l'accès, « Récupérer avec la clé de rechange » : avec votre code du double facteur (même si vous êtes administrateur), vous choisissez l'utilisateur à récupérer (ou demandez à voir quels utilisateurs il y a) et quoi faire : un nouveau mot de passe affiché une seule fois et jamais enregistré, ajouter votre clé publique, le déverrouiller, ou une console en tant que simplio-rescate. Simplio vérifie chaque jour que la clé ouvre encore et vous prévient si quelqu'un l'a retirée. Comment fonctionne la clé de rechange et quelle sécurité elle offre.

La même chose, dans AWS et dans Simplio

Dans la console AWSDans Simplio
Préparer la porteCréer la CA, l'utilisateur, sudo, les deux fichiers et les directives SSH sur chaque machine, à la mainUn bouton « Créer une clé de rechange » sur la carte : Simplio le fait par SSH (Linux) ou vous donne le script à coller une fois (Windows)
Conserver la CAVous, dans un gestionnaire de mots de passeSur le serveur de Simplio, dans le fichier des secrets ; les machines n'acceptent l'utilisateur de secours que depuis l'IP de Simplio
L'utiliserSigner un certificat à la main et entrer en SSHDouble facteur, certificat de cinq minutes automatique, et actions guidées : nouveau mot de passe (affiché une fois), clé publique, déverrouiller
Savoir qu'elle fonctionne encorePenser à la testerVérification quotidienne et avis si la clé de rechange cesse de fonctionner
Ne pas savoir quel utilisateur récupérerEntrer et regarder /home ou les comptes Windows« Voir quels utilisateurs il y a sur la machine » : liste avec dossier, administrateur et dernier accès

Essayer gratuitement 15 jours Voir comment ça marche

Tout cela, sans la console AWS

Simplio est un panneau en français pour gérer vos comptes AWS : machines, copies programmées, bases de données, domaines, e-mail et ce que vous facture AWS, avec des autorisations par personne et la double authentification. Sans rien installer sur vos serveurs.

Commencez gratuitement pendant 15 jours, sans carte

Déjà client ? Espace clients.