Les mots de passe SSH se devinent. Les clés, non. Passer votre VPS à une connexion par clé est la plus grande amélioration de sécurité que vous puissiez faire, et cela prend environ cinq minutes.
Comment fonctionnent les clés SSH
Vous créez une paire de fichiers. La clé privée reste sur votre ordinateur et n'est jamais partagée. La clé publique va sur le serveur. Lorsque vous vous connectez, le serveur demande à votre ordinateur de prouver qu'il détient la clé privée correspondante, sans que la clé ne transite jamais par le réseau.
1. Créer une paire de clés
ssh-keygen -t ed25519 -C "me@laptop"
Les clés Ed25519 sont courtes, rapides et modernes. Choisissez une phrase secrète lorsqu'on vous la demande, afin qu'un ordinateur portable volé ne signifie pas un serveur volé. Sous Windows 10 et 11, la même commande fonctionne dans PowerShell.
2. Copier la clé publique sur le serveur
ssh-copy-id user@your.server.ip
Sans ssh-copy-id, ajoutez le contenu de ~/.ssh/id_ed25519.pub à ~/.ssh/authorized_keys sur le serveur, puis exécutez chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys.
3. Tester avant de désactiver les mots de passe
Ouvrez un second terminal et connectez-vous avec la clé. Gardez votre première session ouverte jusqu'à ce que cela fonctionne, afin qu'une erreur ne vous enferme pas dehors.
4. Désactiver la connexion par mot de passe
sudo nano /etc/ssh/sshd_config.d/99-hardening.conf
PasswordAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes
sudo sshd -t && sudo systemctl reload ssh
La vérification sshd -t détecte les fautes de frappe avant qu'elles ne coupent votre accès. Sur certains systèmes, le service s'appelle sshd plutôt que ssh.
5. Une configuration client propre
# ~/.ssh/config
Host myvps
HostName your.server.ip
User deploy
IdentityFile ~/.ssh/id_ed25519
Il ne vous reste plus qu'à taper ssh myvps.
Bonnes pratiques
- Utilisez une clé distincte par appareil, afin de pouvoir en révoquer une sans toucher aux autres.
- Utilisez
ssh-agentpour ne saisir la phrase secrète qu'une fois par session. - Retirez les clés de
authorized_keyslorsqu'un appareil est perdu ou qu'un employé part. - Ajoutez fail2ban pour réduire le bruit dans les journaux, comme dans notre liste de durcissement en 15 minutes.