Aller au contenu
Administration Linux medium

Configurer le serveur OpenSSH (sshd) pour LFCS/RHCSA

5 min de lecture

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.

  • 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 -t avant reload
  • Contrôler la configuration effective avec sshd -T
  • Diagnostiquer les erreurs de service SSH avec systemctl et journalctl

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.
  • 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.

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 2222
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
Fenêtre de terminal
sudo /usr/sbin/sshd -t -f /etc/ssh/sshd_config

Si la commande ne retourne rien, la syntaxe est valide.

Fenêtre de terminal
sudo /usr/sbin/sshd -T -f /etc/ssh/sshd_config | grep -E '^(port|passwordauthentication|permitrootlogin|pubkeyauthentication) '

Exemple attendu :

port 2222
permitrootlogin no
pubkeyauthentication yes
passwordauthentication no
Fenêtre de terminal
sudo systemctl reload sshd || sudo systemctl reload ssh
sudo systemctl status sshd --no-pager || sudo systemctl status ssh --no-pager

Conservez une session SSH existante ouverte pendant le test.

Les commandes ci-dessous ont été testées dans un lab local sans modifier le service hôte :

Fenêtre de terminal
mkdir -p /tmp/sshd-lab
cd /tmp/sshd-lab
ssh-keygen -t ed25519 -N '' -f ssh_host_ed25519_key
printf '%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 2222
usepam no
permitrootlogin no
pubkeyauthentication yes
passwordauthentication no
SymptômeCause probableCorrection
sshd: bad configuration optionfaute de frappe dans sshd_configcorriger puis relancer sshd -t
Permission denied (publickey)clé absente/mauvais droitsvérifier ~/.ssh/authorized_keys, chmod 700 ~/.ssh, chmod 600 ~/.ssh/authorized_keys
Connection refusedservice arrêté ou port fermésystemctl status sshd, vérifier firewall et port
déconnexion après changementmauvaise directive bloquanterevenir via console locale, corriger config
  • sshd se configure côté serveur dans /etc/ssh/sshd_config.
  • Validez toujours avec sshd -t avant 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.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn