Renforcer la sécurité du serveur SSH
Verrouillez votre serveur SSH en modifiant sshd_config : désactivez les connexions de root et par mot de passe, modifiez les paramètres par défaut risqués, limitez les utilisateurs et appliquez plusieurs niveaux de protection afin que seuls les clients de confiance puissent se connecter.
Renforcer la sécurité du serveur SSH est une leçon Linux Server Deployment & SSH Mastery gratuite sur CoddyKit. Ceci est la leçon 4 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 Linux Server Deployment & SSH Mastery, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Linux Server Deployment & SSH Mastery comprend 4 leçons au total.
Pourquoi renforcer SSH ?
Un serveur SSH exposé à Internet est une cible permanente pour les attaques automatisées. Les paramètres par défaut laissent plusieurs portes ouvertes que les robots sondent sans relâche.
Renforcer la sécurité consiste à resserrer la configuration côté serveur afin que, même si des attaquants trouvent votre serveur, ils ne puissent pas y accéder par force brute.
Le fichier sshd_config
Le comportement de SSH côté serveur est contrôlé par /etc/ssh/sshd_config. Ce fichier est différent de la configuration du client que vous avez configurée précédemment (~/.ssh/config).
Modifiez-le toujours en tant que root et conservez une sauvegarde avant d’effectuer des changements.
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo nano /etc/ssh/sshd_configDésactiver la connexion root
Le compte root est la première cible des attaquants. Désactiver la connexion directe de root les oblige également à deviner un nom d’utilisateur valide.
Définissez PermitRootLogin sur no. Les administrateurs doivent se connecter avec un utilisateur normal et utiliser sudo.
PermitRootLogin noDésactiver l’authentification par mot de passe
Une fois l’authentification par clé opérationnelle, désactivez complètement les mots de passe. Cela neutralise entièrement les attaques par force brute — il n’y a aucun mot de passe à deviner.
Avertissement : vérifiez que la connexion par clé fonctionne avant d’appliquer cette modification, sinon vous risquez de vous retrouver bloqué.
PasswordAuthentication no
ChallengeResponseAuthentication no
PubkeyAuthentication yesRestreindre les utilisateurs autorisés à se connecter
Vous pouvez établir une liste blanche des comptes autorisés à utiliser SSH avec AllowUsers ou AllowGroups. Toute personne qui n’y figure pas sera refusée, même avec des clés valides.
Il s’agit d’un contrôle simple et efficace sur les serveurs accueillant plusieurs utilisateurs.
AllowUsers deploy admin
# or by group:
AllowGroups sshusersModifier le port par défaut (facultatif)
Déplacer SSH du port 22 n’ajoute pas de véritable sécurité, mais réduit considérablement le bruit généré par les analyseurs automatisés dans vos journaux.
Choisissez un port non standard et n’oubliez pas de l’ouvrir dans votre pare-feu et d’en informer vos clients.
Port 2222Limiter les tentatives de connexion et les sessions
Plusieurs directives réduisent la marge de manœuvre des attaquants :
MaxAuthTries— tentatives échouées avant la déconnexionLoginGraceTime— nombre de secondes accordées pour s’authentifierMaxSessions— nombre de sessions simultanées par connexion
MaxAuthTries 3
LoginGraceTime 30
MaxSessions 2Appliquer les modifications en toute sécurité
Après la modification, validez la syntaxe avec sshd -t avant de redémarrer : une faute de frappe peut empêcher le service de démarrer et vous bloquer hors du serveur.
Rechargez ensuite le service. Gardez votre session actuelle ouverte et testez une nouvelle connexion avant de la fermer.
sudo sshd -t
sudo systemctl restart sshProtéger contre les attaques par force brute avec Fail2ban
Fail2ban surveille vos journaux d’authentification et bannit temporairement les adresses IP qui échouent trop souvent. Il ajoute une couche de pare-feu dynamique par-dessus la configuration de sshd.
Installez-le et activez la prison SSH : les valeurs par défaut conviennent à la plupart des serveurs.
sudo apt install fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshdVérifier votre renforcement
Confirmez que le serveur rejette désormais les éléments que vous avez désactivés. Essayez de vous connecter avec une sortie détaillée pour voir quelles méthodes d’authentification le serveur propose.
Un serveur renforcé ne devrait annoncer que publickey et refuser les connexions par mot de passe et celles de root.
ssh -v deploy@server
# Look for: 'Authentications that can continue: publickey'Bonnes pratiques
Maintenez la sécurité de votre serveur SSH au fil du temps :
- N’appliquez jamais
PasswordAuthentication noavant d’avoir testé la connexion par clé - Gardez une session ouverte pendant la modification de la configuration
- Utilisez
sshd -taprès chaque modification - Combinez le renforcement de sshd avec un pare-feu et Fail2ban
Vérification rapide
Testez vos connaissances sur le renforcement de SSH.
Récapitulatif
Vous avez renforcé votre serveur SSH au moyen de /etc/ssh/sshd_config :
- Désactivation des connexions de root et par mot de passe
- Ajout d’une liste blanche d’utilisateurs avec
AllowUsers - Ajustement de
MaxAuthTriesetLoginGraceTime - Ajout de Fail2ban pour une protection dynamique contre la force brute
Validez avec sshd -t et testez toujours avant de fermer votre session.
Questions Fréquemment Posées
La leçon « Renforcer la sécurité du serveur SSH » est-elle gratuite ?
Oui — le texte complet de « Renforcer la sécurité du serveur SSH » 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 Linux Server Deployment & SSH Mastery, passe à CoddyKit PRO. Le cours Linux Server Deployment & SSH Mastery comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Renforcer la sécurité du serveur SSH » ?
Verrouillez votre serveur SSH en modifiant sshd_config : désactivez les connexions de root et par mot de passe, modifiez les paramètres par défaut risqués, limitez les utilisateurs et appliquez plusi… Tu pratiques Linux Server Deployment & SSH Mastery 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 Linux Server Deployment & SSH Mastery ?
Aucune expérience préalable n'est requise. Linux Server Deployment & SSH Mastery 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 4 sur 4.
Combien de temps prend la leçon « Renforcer la sécurité du serveur SSH » ?
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 Linux Server Deployment & SSH Mastery ?
Oui. Chaque leçon Linux Server Deployment & SSH Mastery 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
- Comprendre le protocole SSH
- Configurer votre client SSH
- Authentification SSH par clés
- Renforcer la sécurité du serveur SSH