Le client SSH ne suffit pas pour une préparation certif crédible. Les objectifs LFCS demandent explicitement de configurer le serveur et le client OpenSSH. Ce guide couvre la partie serveur : modifier sshd_config, valider la configuration avant redémarrage, et appliquer un durcissement minimal sans se verrouiller hors du serveur.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Localiser et modifier la configuration de
sshd - Activer l’authentification par clé et réduire l’usage du mot de passe
- Empêcher la connexion root directe via SSH
- Vérifier la syntaxe avec
sshd -tavant reload - Contrôler la configuration effective avec
sshd -T - Diagnostiquer les erreurs de service SSH avec
systemctletjournalctl
Dans quel contexte ?
Section intitulée « Dans quel contexte ? »Vous configurez sshd dans des situations réelles très fréquentes :
- durcir un nouveau serveur avant mise en production ;
- migrer d’un accès mot de passe vers clé publique ;
- interdire le compte root en connexion distante ;
- ouvrir un port SSH dédié dans un environnement filtré ;
- corriger un incident “SSH refused” après changement de config.
Prérequis
Section intitulée « Prérequis »- un accès console local ou KVM/IPMI en cas d’erreur ;
- un utilisateur sudo non-root ;
- une clé SSH déjà en place côté client.
Base de configuration sshd
Section intitulée « Base de configuration sshd »Le fichier principal est généralement :
/etc/ssh/sshd_config
Directives importantes pour un socle certif :
Port 2222(optionnel selon politique) ;PasswordAuthentication no;PubkeyAuthentication yes;PermitRootLogin no.
Exemple minimal :
Port 2222PasswordAuthentication noPermitRootLogin noPubkeyAuthentication yesValidation avant application
Section intitulée « Validation avant application »Étape 1 : vérifier la syntaxe
Section intitulée « Étape 1 : vérifier la syntaxe »sudo /usr/sbin/sshd -t -f /etc/ssh/sshd_configSi la commande ne retourne rien, la syntaxe est valide.
Étape 2 : vérifier la config effective
Section intitulée « Étape 2 : vérifier la config effective »sudo /usr/sbin/sshd -T -f /etc/ssh/sshd_config | grep -E '^(port|passwordauthentication|permitrootlogin|pubkeyauthentication) 'Exemple attendu :
port 2222permitrootlogin nopubkeyauthentication yespasswordauthentication noÉtape 3 : recharger le service
Section intitulée « Étape 3 : recharger le service »sudo systemctl reload sshd || sudo systemctl reload sshsudo systemctl status sshd --no-pager || sudo systemctl status ssh --no-pagerConservez une session SSH existante ouverte pendant le test.
Test en lab (auto-contenu)
Section intitulée « Test en lab (auto-contenu) »Les commandes ci-dessous ont été testées dans un lab local sans modifier le service hôte :
mkdir -p /tmp/sshd-labcd /tmp/sshd-labssh-keygen -t ed25519 -N '' -f ssh_host_ed25519_keyprintf '%s\n' \ 'Port 2222' \ 'ListenAddress 127.0.0.1' \ 'Protocol 2' \ 'HostKey /tmp/sshd-lab/ssh_host_ed25519_key' \ 'PidFile /tmp/sshd-lab/sshd.pid' \ 'PasswordAuthentication no' \ 'PermitRootLogin no' \ 'PubkeyAuthentication yes' \ 'AuthorizedKeysFile .ssh/authorized_keys' \ 'UsePAM no' \ 'Subsystem sftp /usr/lib/openssh/sftp-server' > sshd_config.test/usr/sbin/sshd -t -f sshd_config.test/usr/sbin/sshd -T -f sshd_config.test | grep -E '^(port|passwordauthentication|permitrootlogin|pubkeyauthentication|usepam) 'Sortie validée en lab :
port 2222usepam nopermitrootlogin nopubkeyauthentication yespasswordauthentication noDépannage rapide
Section intitulée « Dépannage rapide »| Symptôme | Cause probable | Correction |
|---|---|---|
sshd: bad configuration option | faute de frappe dans sshd_config | corriger puis relancer sshd -t |
Permission denied (publickey) | clé absente/mauvais droits | vérifier ~/.ssh/authorized_keys, chmod 700 ~/.ssh, chmod 600 ~/.ssh/authorized_keys |
Connection refused | service arrêté ou port fermé | systemctl status sshd, vérifier firewall et port |
| déconnexion après changement | mauvaise directive bloquante | revenir via console locale, corriger config |
À retenir
Section intitulée « À retenir »sshdse configure côté serveur dans/etc/ssh/sshd_config.- Validez toujours avec
sshd -tavant rechargement. - Vérifiez la config active avec
sshd -T. - La base certif : clé publique, root interdit, mot de passe réduit ou désactivé.
- Gardez un accès console de secours pour éviter le lockout.
Prochaines étapes
Section intitulée « Prochaines étapes » Se connecter en SSH (client) Compléter la partie serveur avec la configuration du client OpenSSH.
Créer et gérer des clés SSH Mettre en place des clés robustes avant de couper l'authentification par mot de passe.
Compétences LFCS essentielles Vérifier les objectifs officiels réseau et accès utilisateur couverts par ce guide.