En cliquant sur « accepter », vous acceptez l’utilisation de cookies à usages techniques nécessaires à son bon fonctionnement, ainsi que des cookies, y compris des cookies tiers, à des fins statistiques, de publicité ou de personnalisation pour vous proposer des services et des offres adaptés à vos centres d’intérêts sur notre site et ceux de tiers. Plus d'information
125 Bd Louis Blanc 85000 La Roche-Sur-Yon

Sécuriser ses connexions SSH avec des clés et fail2ban

Le protocole SSH (Secure Shell) est l’un des moyens les plus utilisés pour administrer des serveurs Linux.
C'est pourquoi il est très souvent ciblé par des attaques manuelles ou automatisées.
Nous allons voir:
  • comment sécuriser SSH avec l’authentification par clés 
  • ajout une protection contre le brute force avec fail2ban.

Génération et utilisation des clés SSH

Sur votre machine locale :

ssh-keygen -t ed25519 -C "admin@exemple.com"

Cela génère une clé publique id_ed25519.pub et une clé privée id_ed25519.


Copiez la clé publique vers le serveur :

ssh-copy-id user@serveur


Connexion sécurisée :

ssh user@serveur


Configuration du serveur SSH pour n’autoriser que les clés

Modifier le fichier /etc/ssh/sshd_config :

PasswordAuthentication no PermitRootLogin no PubkeyAuthentication yes
Puis redémarrer le service :
sudo systemctl restart sshd

👉 Désactiver l’authentification par mot de passe empêche les attaques par brute force classiques.



Installation et configuration de fail2ban

Installer fail2ban :

sudo apt install fail2ban

Créer un fichier /etc/fail2ban/jail.local :

[sshd] enabled = true port = ssh logpath = /var/log/auth.log maxretry = 5 bantime = 3600


Puis redémarrer le service:

sudo systemctl restart fail2ban


Vérifier le statut :

sudo fail2ban-client status sshd


Bonnes pratiques supplémentaires

  • Utiliser un port non standard pour SSH (Port 2222).
  • Restreindre l’accès à certaines adresses IP (AllowUsers).
  • Activer un pare-feu (UFW, nftables).
  • Surveiller les journaux avec journalctl -u sshd.


Conclusion

En combinant authentification par clés SSH et fail2ban, vous augmentez significativement la sécurité de vos serveurs Linux.
C’est une configuration simple, mais extrêmement efficace contre les attaques automatisées.