On peut voir cet article comme une suite et une évolution de Connexion SSH sans mot de passe.
En effet, j’ai refait un serveur (VPS distant) et je me suis dit qu’il fallait se mettre à jour
Vous en avez marre de taper votre mot de passe à chaque connexion SSH ?
Bonne nouvelle, en 2025, la méthode idéale pour une connexion sécurisée repose sur les clés ed25519.
Plus performantes et sécurisées que les anciennes clés RSA, elles sont la norme pour un accès sans mot de passe tout en maintenant un bon niveau de protection.
Voyons ensemble comment mettre en place cette solution !
Générer une clé SSH ed25519
Sur votre machine locale, ouvrez un terminal et lancez :ssh-keygen -t ed25519 -C "mon-email@example.com"
-t ed25519
: Utilise l’algorithme ed25519, plus rapide et sécurisé que RSA.-C "mon-email@example.com"
: Ajoute un commentaire pour identifier la clé.
On peut mettre -C "mon-email@example.com"
ou -C "mon-user"
ou -C "MonPC-Perso"
ou … puisque c’est juste un commentaire
Le système vous demandera où sauvegarder la clé. Par défaut, elle sera enregistrée dans ~/.ssh/id_ed25519.
Faut-il mettre une passphrase ?
- Avec passphrase → Plus sécurisé, mais il faudra la taper à chaque utilisation (sauf avec ssh-agent).
- Sans passphrase → Utile pour des connexions automatisées (scripts, CI/CD), mais moins sécurisé.
Ajouter la clé publique sur le serveur
On va maintenant envoyer la clé publique sur le serveur distant. Si vous avez ssh-copy-id :ssh-copy-id -i ~/.ssh/id_ed25519.pub utilisateur@serveur
Sinon, copiez-la manuellement :cat ~/.ssh/id_ed25519.pub | ssh utilisateur@serveur "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
Configurer SSH pour désactiver les mots de passe (optionnel)
On peut forcer l’usage de la clef et interdire l’usage du mot de passe.
C’est possible, par exemple, sur un VPS ayant une console KVM de sécurité ou sur un serveur local qui pourra recevoir écran et clavier en cas de souci.
Car si votre PC crame, pas de connexion
Sur le serveur, modifiez le fichier de configuration SSH :sudo nano /etc/ssh/sshd_config
Vérifiez que ces lignes sont bien présentes (ou ajoutez-les) :PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin no
ChallengeResponseAuthentication no
Puis redémarrez SSH :sudo systemctl restart ssh
Tester la connexion
Essayez maintenant de vous connecter :ssh utilisateur@serveur
Si tout fonctionne, plus besoin de taper de mot de passe !
(Optionnel) Utiliser ssh-agent pour éviter de taper la passphrase
Si vous avez mis une passphrase à votre clé, évitez de la retaper à chaque fois avec :eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Sécuriser encore plus votre accès SSH
Limiter les utilisateurs autorisés
Ajoutez cette ligne à /etc/ssh/sshd_config pour autoriser uniquement certains utilisateurs. Bon, là, j’ai mon prénom, mais ne me faites pas confiance ; mettez votre user :
AllowUsers alban
Utiliser Fail2Ban contre les attaques
Installez et activez Fail2Ban pour bloquer les tentatives de brute force :sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban
Conclusion
En 2025, l’accès SSH sans mot de passe repose sur les clés ed25519 et une bonne configuration serveur.
En suivant ces étapes, vous gagnez en sécurité et en confort !