Sécuriser SSH avec l'authentification par clé
L'authentification par mot de passe est vulnérable aux attaques par force brute. L'utilisation de clés cryptographiques (SSH Keys) est recommandée pour tous les serveurs, car elles sont quasi impossibles à pirater.
1. Générer une paire de clés (Sur votre PC)
Ouvrez un terminal sur votre ordinateur local (votre PC, pas le serveur) et tapez la commande suivante :
ssh-keygen -t ed25519 -C "votre@email.com"
Appuyez sur Entrée pour valider l'emplacement par défaut. Vous pouvez définir une passphrase (mot de passe pour déverrouiller la clé) pour une sécurité maximale.
2. Envoyer la clé publique sur le serveur
Il faut maintenant transmettre votre "cadenas" (clé publique) au serveur. Remplacez user et ip-serveur par vos informations :
ssh-copy-id user@192.168.1.50
Le mot de passe de l'utilisateur vous sera demandé une dernière fois pour copier la clé.
3. Désactiver l'authentification par mot de passe
Une fois que vous avez vérifié que vous pouvez vous connecter sans mot de passe, il faut verrouiller la porte.
Modifiez la configuration SSH sur le serveur :
sudo nano /etc/ssh/sshd_config
Trouvez et modifiez (ou ajoutez) ces lignes :
# Désactive l'authentification par mot de passe classique PasswordAuthentication no # Empêche root de se connecter (sauf avec une clé, mais 'no' est plus sûr) PermitRootLogin prohibit-password
4. Redémarrer SSH
Appliquez la nouvelle politique de sécurité :
sudo systemctl restart ssh