Le serveur OpenSSH SSH ne démarre pas sur Windows Server 2019 après les mises à jour Windows

J’ai deux hôtes Windows Server 2019 qui ne peuvent pas démarrer le service OpenSSH SSH Server après l’installation des mises à jour Windows suivantes :

.NET Framework 4.8

Mise à jour cumulative d’octobre 2024

Outil de suppression de logiciels malveillants

La date de modification a changé hier soir sur tous les fichiers de C:\Windows\System32\OpenSSH :

Répertoire OpenSSH

La tentative de démarrage du service aboutit à :

« Windows n’a pas pu démarrer le service OpenSSH SSH sur l’ordinateur local. Erreur 1067 : Le processus s’est terminé de manière inattendue »

Il n’y a rien dans le fichier journal SSH lors de la tentative de démarrage. Le journal des événements ne fournit aucun détail utile que je puisse trouver, si ce n’est qu’il dit « Le service OpenSSH SSH Server s’est terminé de manière inattendue. Cela s’est produit 8 fois. »


Source : Server Fault

Les permissions sur le répertoire LOG étaient incorrectes.
J’ai supprimé le dossier LOG, redémarré le service et tout a recommencé à fonctionner. Le dossier LOG a été automatiquement recréé.

Mais… si vous entrez dans le fichier journal (en tant qu’utilisateur administrateur), et après avoir accepté « vous avez besoin des permissions administrateur pour accéder à ce dossier », votre nom d’utilisateur se retrouve dans la liste des utilisateurs avec des permissions de lecture.
Après cela, le démon ne démarre plus.
La suppression de l’utilisateur de la liste de sécurité du dossier LOG résout le problème, et le service redémarre. :frowning:

Extrait de la mise à jour mensuelle Microsoft de décembre 2024, section des problèmes connus :

https://support.microsoft.com/kb/5048661

Suite à l’installation de la mise à jour de sécurité d’octobre 2024, certains clients signalent que le service OpenSSH (Open Secure Shell) ne démarre pas, empêchant les connexions SSH. Le service échoue sans journalisation détaillée, et une intervention manuelle est nécessaire pour exécuter le processus sshd.exe.

Solution de contournement :

Les clients peuvent résoudre temporairement le problème en mettant à jour les permissions (ACL) sur les répertoires concernés. Suivez ces étapes :

Ouvrez PowerShell en tant qu’administrateur.

Mettez à jour les permissions pour C:\ProgramData\ssh et C:\ProgramData\ssh\logs pour autoriser le contrôle total pour SYSTEM et le groupe Administrateurs, tout en autorisant l’accès en lecture pour les utilisateurs authentifiés. Vous pouvez restreindre l’accès en lecture à des utilisateurs ou groupes spécifiques en modifiant la chaîne de permissions si nécessaire.

Utilisez les commandes suivantes pour mettre à jour les permissions :
`$directoryPath = “C:\ProgramData\ssh”
$acl = Get-Acl -Path $directoryPath
$sddlString = “O:BAD:PAI(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICI;0x1200a9;;;AU)”
$securityDescriptor = New-Object System.Security.AccessControl.RawSecurityDescriptor $sddlString $acl.SetSecurityDescriptorSddlForm($securityDescriptor.GetSddlForm(“All”))
Set-Acl -Path $directoryPath -AclObject $acl


- Répétez les étapes ci-dessus pour C:\ProgramData\ssh\logs.

Le problème a été résolu dans la mise à jour cumulative mensuelle Windows de mars 2025 [KB5053596](https://support.microsoft.com/KB/5053596).

Contexte :

Problème Win32 OpenSSH #2282 ouvert le 8 octobre 2024, indiquant que le problème a commencé avec la version 9.4 :

**v9.4.0.0p1 et versions ultérieures imposent des permissions sur le dossier logs, entraînant des plantages non diagnosticables du service après Windows Update #2282**

[https://github.com/PowerShell/Win32-OpenSSH/issues/2282](https://github.com/PowerShell/Win32-OpenSSH/issues/2282)

Lié à cette pull request :

**ajout de la vérification des permissions du dossier prog data lors du démarrage du service sshd #686**

[https://github.com/PowerShell/openssh-portable/pull/686](https://github.com/PowerShell/openssh-portable/pull/686)