Renforcement de SSH et authentification par clé
Désactivez l’authentification par mot de passe, configurez les paires de clés, limitez l’accès avec AllowUsers et utilisez fail2ban.
Renforcement de SSH et authentification par clé est une leçon Cyber Security Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cyber Security Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cyber Security Academy comprend 4 leçons au total.
Pourquoi la sécurité SSH est importante
SSH est le principal protocole d'administration à distance des serveurs Linux. Un serveur SSH mal configuré est l'un des points d'entrée les plus fréquents pour les attaquants : exposé à Internet, il est la cible de robots de force brute constants.
Générer une paire de key SSH
L'authentification par key est plus robuste que l'utilisation de mots de passe. Générez une paire de key :
ssh-keygen -t ed25519 -C "your_email"
# Creates ~/.ssh/id_ed25519 (private) and id_ed25519.pub (public)
# Never share the private keyInstaller des key publiques
Copiez votre key publique sur le serveur :
ssh-copy-id user@server
# Or manually:
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keysDésactiver l'authentification par mot de passe
Une fois l'authentification par key opérationnelle, désactivez la connexion par mot de passe afin d'éliminer le risque de force brute :
# In /etc/ssh/sshd_config:
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
sudo systemctl restart sshdModifier le port SSH par défaut
Déplacer SSH du port 22 réduit le bruit généré par les analyses automatisées. Il s'agit de la sécurité par l'obscurité : ce n'est pas une véritable défense, mais cela réduit le nombre de messages dans les journaux. Mettez toujours à jour les règles du pare-feu en conséquence.
# /etc/ssh/sshd_config
Port 2222
# Then update firewall:
ufw allow 2222/tcp
ufw delete allow 22/tcpRestreindre l'accès SSH par utilisateur ou adresse IP
Limitez les utilisateurs qui peuvent se connecter en SSH et les endroits depuis lesquels ils peuvent le faire :
# /etc/ssh/sshd_config
AllowUsers alice bob
AllowGroups sshusers
# Or restrict by source IP in /etc/hosts.allow:
sshd: 192.168.1.0/24Délais d'attente et limites de connexion SSH
Réduisez l'exposition grâce à des limites de session et de tentatives :
# /etc/ssh/sshd_config
ClientAliveInterval 300 # disconnect idle sessions after 5 min
ClientAliveCountMax 2
MaxAuthTries 3 # max password attempts
LoginGraceTime 30 # seconds to authenticateUtiliser fail2ban
fail2ban surveille les fichiers journaux et bannit les adresses IP qui présentent des comportements malveillants, par exemple un trop grand nombre de connexions SSH échouées. Il met dynamiquement à jour les règles du pare-feu pour bloquer les attaquants.
apt install fail2ban
# /etc/fail2ban/jail.local:
[sshd]
enabled = true
maxretry = 3
bantime = 3600Agent SSH et transfert de key
L'agent SSH stocke votre key privée déchiffrée en mémoire afin que vous n'ayez pas à saisir de nouveau la phrase secrète à chaque connexion. Le transfert de l'agent (ssh -A) fait passer votre key par plusieurs relais : utilisez-le avec prudence, car un serveur intermédiaire compromis pourrait dérober votre key depuis le socket de l'agent.
Authentification à deux facteurs pour SSH
Ajoutez TOTP à SSH avec le module PAM de Google Authenticator pour renforcer la protection, même avec une authentification par key. La connexion nécessite à la fois la key AND un OTP fondé sur le temps.
Auditer la configuration SSH
Vérifiez votre configuration SSH avec :
sshd -T | grep -E "passwordauth|permitroot|pubkeyauth|port"
# Check who is connected:
ss -tnp | grep :22
whoVérification rapide : renforcement de SSH
Quel paramètre de sshd_config doit être défini sur no pour éliminer les attaques par force brute utilisant des mots de passe contre SSH ?
Récapitulatif de la leçon
Renforcement de SSH : utilisez des key Ed25519, désactivez l'authentification par mot de passe, désactivez la connexion du superutilisateur, remplacez le port 22, restreignez AllowUsers, définissez des délais d'inactivité et installez fail2ban. Ne partagez jamais vos key privées. Auditez avec sshd -T. Le transfert de l'agent est pratique, mais risqué sur des hôtes non fiables.
Questions Fréquemment Posées
La leçon « Renforcement de SSH et authentification par clé » est-elle gratuite ?
Oui — le texte complet de « Renforcement de SSH et authentification par clé » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cyber Security Academy, passe à CoddyKit PRO. Le cours Cyber Security Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Renforcement de SSH et authentification par clé » ?
Désactivez l’authentification par mot de passe, configurez les paires de clés, limitez l’accès avec AllowUsers et utilisez fail2ban. Tu pratiques Cyber Security Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Cyber Security Academy ?
Aucune expérience préalable n'est requise. Cyber Security Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Renforcement de SSH et authentification par clé » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Cyber Security Academy ?
Oui. Chaque leçon Cyber Security Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Permissions et propriété des fichiers
- Gestion des utilisateurs et des groupes
- Renforcement de SSH et authentification par clé
- Règles de pare-feu iptables et UFW