Tôt ou tard, il faut « entrer » dans le serveur : redémarrer un service, voir pourquoi le disque s'est rempli, lire un journal. Et là surgit l'éternelle question : qui a la clé ? Un terminal dans le navigateur écarte le problème : rien à installer sur l'ordinateur de celui qui entre, pas de clé à lui envoyer par e-mail, et il reste une trace de qui est entré. Ce guide explique ce qu'AWS vous offre pour cela dans chaque cas et quelles en sont les étapes.
Avant de commencer : ce que signifie chaque chose
- Terminal ou console
- Une fenêtre où vous tapez des ordres à la machine et voyez ce qu'elle répond. Sous Linux, ça s'appelle Bash ; sous Windows, PowerShell.
- SSH
- Le protocole avec lequel on ouvre un terminal à distance de façon chiffrée. Utilise le port 22.
- Client SSH
- Le programme que vous installez sur votre ordinateur pour vous connecter en SSH (PuTTY, le « ssh » du terminal…). Un terminal dans le navigateur le rend inutile.
- Clé temporaire
- Une clé SSH qu'AWS génère pour une seule connexion et qui expire en quelques minutes. C'est ce qu'utilise la console web de Lightsail.
- Empreinte du serveur (host key)
- La « signature » du serveur SSH de la machine. Sert à vous assurer que vous parlez à votre machine et non à une autre qui se fait passer pour elle.
- Serveur OpenSSH de Windows
- Le composant qui permet d'entrer en SSH dans un Windows. Windows Server l'apporte comme fonctionnalité facultative depuis 2019 (2025, déjà installé).
Pas à pas
Linux sur Lightsail : la console web
Dans la console Lightsail, chaque machine Linux a le bouton Se connecter à l'aide de SSH. Un terminal s'ouvre dans le navigateur sans rien configurer : Lightsail génère une clé temporaire, la place dans la machine quelques minutes et entre comme l'utilisateur de l'image (bitnami, ubuntu, ec2-user…). C'est pratique et sûr. Ce qu'il ne vous donne pas : des permissions par personne (qui entre dans la console AWS entre dans toutes les machines), un journal de qui a ouvert quoi, ni un moyen de la donner à un technicien externe sans lui donner votre compte AWS.
Linux sur EC2 : Session Manager
Dans EC2, cette clé temporaire n'existe pas. L'option sans client est Session Manager, de Systems Manager : la machine porte un agent (les images d'Amazon l'incluent) et un rôle IAM qui lui permet de parler à Systems Manager ; depuis la console EC2, Se connecter → Session Manager ouvre un terminal. Avantages : pas besoin d'ouvrir le port 22 et il reste une trace. En échange : le rôle IAM, les permissions et, si vous voulez enregistrer les sessions, un bucket S3 ou CloudWatch. C'est la voie recommandée par AWS pour EC2.
Windows : PowerShell par OpenSSH
La console Lightsail pour Windows est un Bureau à distance dans le navigateur, lourd et avec le mot de passe Administrator au milieu. L'alternative légère est le serveur OpenSSH de Windows : dans PowerShell en tant qu'administrateur,
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 Set-Service sshd -StartupType Automatic; Start-Service sshd New-ItemProperty -Path HKLM:\SOFTWARE\OpenSSH -Name DefaultShell -Value "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -ForceAvec cela, une connexion SSH au port 22 ouvre PowerShell. Ouvrez le 22 dans le pare-feu de Windows et dans celui de Lightsail seulement pour les IP qui doivent entrer. Sous Windows Server 2025, le serveur est déjà installé et il suffit de le démarrer.
Vérifiez l'empreinte la première fois
La première connexion à une machine affiche son empreinte et demande si vous l'acceptez. Si vous le pouvez, comparez-la avec celle que donne la machine elle-même (
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pubsous Linux ; sous Windows la même commande surC:\ProgramData\ssh\ssh_host_ed25519_key.pub). À partir de là, votre client s'en souvient et prévient si elle change. Un avertissement d'empreinte changée sans raison est sérieux : ne continuez pas avant d'avoir compris pourquoi.Donner la console à un technicien sans lui donner votre compte
Ici, AWS reste court. Les options sont de créer un utilisateur IAM pour lui avec des permissions très restreintes (et de les maintenir), ou de lui donner une clé SSH à lui et de la copier sur les machines concernées (et de penser à la retirer). Aucune n'est terrible ; les deux sont du travail qui s'accumule avec chaque technicien et chaque machine, et ce qui finit par arriver, c'est qu'on partage « la clé habituelle ».
Ce qui peut mal tourner
« Connection timed out » sur le port 22
Le pare-feu de Lightsail (ou le groupe de sécurité d'EC2) n'a pas le 22 ouvert pour votre IP actuelle. Ouvrez-le pour votre IP, pas pour tout le monde.
Sous Windows ça se connecte mais la console est cmd, pas PowerShell
Il manque l'entrée DefaultShell du registre de l'étape 3. Ajoutez-la et redémarrez le service sshd.
Session Manager dit que la machine n'est pas « managed »
L'agent ne parle pas à Systems Manager : presque toujours il manque le rôle IAM sur la machine (AmazonSSMManagedInstanceCore) ou la machine n'a ni sortie vers Internet ni points de terminaison privés.
L'empreinte a changé
Si vous avez réinstallé la machine ou l'avez créée depuis un instantané sur une autre IP, c'est normal. Sinon, arrêtez-vous et cherchez : il pourrait y avoir une autre machine au milieu.
Dans Simplio
Dans Simplio, le terminal est un bouton sur la carte de la machine. Sous Linux, il utilise la même clé temporaire que la console web de Lightsail ; sous Windows, il ouvre PowerShell à travers le serveur OpenSSH de Windows avec le mot de passe que Lightsail a conservé, sans que personne ne le voie. Dans les deux cas : code de double authentification à chaque ouverture, permission par personne et par machine (le technicien voit celle de test et aucune autre), un ticket de 60 secondes à usage unique pour le navigateur, et l'empreinte de la machine vérifiée. Personne ne reçoit de clé, rien ne s'installe, et chaque ouverture reste dans le journal d'activité. Comment fonctionne le terminal.
La même chose, dans AWS et dans Simplio
| Dans la console AWS | Dans Simplio | |
|---|---|---|
| Ouvrir une console Linux | Console web de Lightsail (avec votre compte AWS) ou Session Manager dans EC2 (agent, rôle, permissions) | Bouton « Terminal » sur la carte, avec le code de double authentification |
| Ouvrir une console Windows | Bureau à distance avec le mot de passe Administrator, ou installer OpenSSH et se connecter avec un client | Bouton « Terminal » : PowerShell dans le navigateur, avec double authentification |
| La donner à un technicien | Utilisateur IAM ou clé SSH à lui, machine par machine | Lui accorder cette machine dans Simplio ; rien à envoyer ni à retirer ensuite |
| Savoir qui est entré | Journaux SSH sur chaque machine, ou CloudTrail pour Session Manager | Journal d'activité : qui, quelle machine, quand, depuis quelle IP |
| Vérifier l'empreinte | Vous, la première fois, à la main | AWS la donne sous Linux ; sous Windows, Simplio la mémorise la première fois et l'exige toujours |