La connexion par clé SSH est bien plus sûre qu'un mot de passe et protège votre VPS contre les attaques par force brute.
1. Créer une paire de clés (sur votre ordinateur)
- Ouvrez un terminal ou PowerShell et saisissez
ssh-keygen -t ed25519. - Confirmez l'emplacement et définissez éventuellement une phrase de passe.
Vous obtenez une clé privée (id_ed25519, à ne jamais partager) et une clé publique (id_ed25519.pub).
2. Copier la clé publique sur le VPS
- macOS/Linux :
ssh-copy-id root@VOTRE-IP - Windows PowerShell :
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@VOTRE-IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Vérifiez ensuite dans une nouvelle fenêtre que ssh root@VOTRE-IP fonctionne sans demande de mot de passe.
3. Désactiver la connexion par mot de passe
- Ouvrez
/etc/ssh/sshd_config(par ex. avecnano). - Définissez
PasswordAuthentication noetPermitRootLogin prohibit-password. - Vérifiez qu'aucun fichier dans
/etc/ssh/sshd_config.d/ne remplace ces valeurs. - Testez la configuration avec
sshd -tpuis redémarrez le service :systemctl restart ssh(Debian/Ubuntu) ousystemctl restart sshd(AlmaLinux/Rocky).
Important : ne fermez la session en cours qu'une fois la connexion par clé validée dans une deuxième fenêtre. Conservez une copie de sauvegarde de votre clé privée.