Sur un serveur Ubuntu ou Debian fraîchement installé, il peut arriver que le service SSH refuse de démarrer ou que la vérification de configuration échoue avec une erreur autour de /run/sshd.
Le cas typique apparaît lorsque l’on lance un test de configuration avec sshd -t :
sudo sshd -t
Et que le serveur renvoie quelque chose comme :
Could not load host key: /etc/ssh/ssh_host_ed25519_key
Missing privilege separation directory: /run/sshdLangage du code : JavaScript (javascript)
Ces deux erreurs peuvent impressionner, surtout sur un serveur distant. Heureusement, elles sont généralement simples à corriger : il faut régénérer les clés hôte SSH manquantes, puis recréer le répertoire runtime attendu par sshd.
Voici la méthode propre pour corriger ces erreurs sans casser l’accès SSH au serveur.
Comprendre les deux erreurs
Dans l’exemple ci-dessus, SSH signale deux problèmes différents :
Could not load host key: /etc/ssh/ssh_host_ed25519_key: une clé hôte SSH manque sur le serveur ;Missing privilege separation directory: /run/sshd: le répertoire temporaire utilisé par le daemon SSH n’existe pas.
Les deux problèmes peuvent apparaître après une installation minimale, une image système incomplète, un conteneur, un chroot, une restauration de serveur, ou une mise à jour qui a laissé SSH dans un état bancal.
La bonne nouvelle : dans la plupart des cas, deux commandes suffisent pour remettre SSH d’aplomb. Le tout, c’est de les lancer proprement.