Comment installer le serveur OpenSSH intégré de Windows 10

Caché dans la liste des fonctionnalités optionnelles qui peuvent être installées dans Windows 10, on trouve les versions bêta d’un client OpenSSH et d’un serveur OpenSSH. Le client vous permet de vous connecter à des serveurs SSH distants directement à partir de la ligne de commande Windows et le serveur permet aux utilisateurs distants de se connecter à distance à Windows 10 et de recevoir une invite de commande via SSH.

Pour ceux qui voudraient un accès à la console à distance à leurs ordinateurs Windows 10, le serveur OpenSSH intégré de Windows 10 peut être ce que vous recherchez. Encore mieux, pour ceux qui sont familiers avec OpenSSH en l’utilisant sous Linux, la version Windows 10 fonctionne à peu près de la même manière.

Alors que le client OpenSSH de Windows 10 est vraiment facile à installer et à utiliser. comprendre comment obtenir le serveur OpenSSH opérationnel était une vraie douleur car vous devez faire beaucoup de changements non documentés aux permissions & privilèges et la génération de clés ne fonctionne pas comme prévu. Maintenant que j’ai tout compris, cependant, cela ne devrait pas vous prendre plus de 10 minutes pour suivre ces instructions et installer une implémentation fonctionnelle d’OpenSSH Server dans Windows 10.

Installation du serveur OpenSSH de Windows 10

La première étape consiste à cliquer sur le menu Démarrer de Windows (), puis dans le champ de recherche tapez option. Un résultat de recherche intitulé Gérer les fonctionnalités optionnelles s’affichera, sur lequel vous devez cliquer. Cela ouvrira l’écran Gérer les fonctionnalités optionnelles comme indiqué ci-dessous.

Écran Gérer les fonctionnalités optionnelles

Cet écran affiche toutes les fonctionnalités optionnelles de Windows actuellement installées. Cliquez maintenant sur le bouton Ajouter une fonctionnalité comme indiqué par la flèche rouge ci-dessus. Cela ouvrira une liste de fonctionnalités optionnelles qui peuvent être installées. La plupart sont des packs de polices, mais si vous faites défiler vers le bas, vous verrez une fonctionnalité appelée OpenSSH Server (Beta).

Installer la fonctionnalité OpenSSH Server

Pour installer OpenSSH Server (Beta), il suffit de la sélectionner et de cliquer sur le bouton Installer. Une fois que vous aurez cliqué sur le bouton Installer, vous verrez la fonctionnalité disparaître de la liste. Ceci est normal et ne doit pas vous inquiéter. Il suffit de cliquer sur la flèche retour en haut à gauche de la fenêtre et vous serez de retour à la liste des fonctionnalités installées, mais maintenant avec le serveur OpenSSH (Beta) installé.

Windows 10 OpenSSH Server installé

Vous pouvez maintenant fermer cette fenêtre.

Après l’installation, deux nouveaux services Windows appelés sshd et sshd-agent auront été créés et les fichiers associés seront stockés dans le dossier C:\Windows\System32\OpenSSH. La liste des fichiers installés sont:

Pour terminer l’installation, vous devez maintenant redémarrer votre ordinateur.

Après votre reconnexion, le service sshd ne sera pas démarré et si vous essayez de le démarrer, Windows signalera qu’il ne dispose pas des privilèges requis pour que le service démarre.

Il manque un privilège au service OpenSSH

Le privilège manquant dont le service a besoin est Remplacer un jeton de niveau processus et nous devons l’ajouter au compte NT Service\sshd. Pour ce faire, ouvrez l’éditeur de politique de sécurité locale en recherchant secpol dans le menu Démarrer et en sélectionnant le résultat de la politique de sécurité locale qui apparaît.

Lorsque l’éditeur de politique de sécurité locale s’ouvre, vous devez développer les politiques locales et cliquer gauchement sur Affectation des droits de l’utilisateur. Une fois que vous avez sélectionné User Rights Assignment, vous verrez divers privilèges dans le volet de droite. Faites défiler la liste jusqu’à ce que vous voyiez le privilège Remplacer un jeton de niveau processus et double-cliquez dessus. Cela ouvrira les propriétés de ce privilège et montrera les comptes ou les groupes auxquels il est actuellement attribué.

Remplacer un jeton de niveau processus Propriétés de l’autorisation

Maintenant, cliquez sur le bouton Ajouter un utilisateur ou un groupe et saisissez NT Service\sshd dans le champ Saisir les noms d’objets à sélectionner comme indiqué ci-dessous.

Ajouter un compte au privilège

Une fois terminé, cliquez ok le bouton OK pour donner ce privilège à sshd. Vous pouvez ensuite appuyer sur le bouton OK pour fermer les propriétés, puis fermer l’éditeur de politique de sécurité locale.

Même avec le privilège activé, lorsque vous essayez de démarrer le service sshd, Windows affiche l’erreur « Windows n’a pas pu démarrer le service sshd sur l’ordinateur local ». Erreur 1067 : Le processus s’est terminé de manière inattendue. »

Erreur 1067 lorsque vous essayez de démarrer le service SSHD

Si vous regardez dans le fichier C:\Windows\System32\OpenSSH\Logs\sshd.log, il affichera des erreurs comme les suivantes.

SSHD affiche ces erreurs car vous n’avez pas généré les clés d’hôte qui seront utilisées pour crypter le trafic entre le serveur et le client. Pour créer ces clés, nous devons exécuter la commande C:\Windows\System32\OpenSSH\ssh-keygen.exe -A à partir d’une invite de commande élevée afin que les clés soient créées dans le dossier C:\Windows\System32\OpenSSH.

L’utilisation de la commande « ssh-keygen -A » va générer une clé en utilisant le chemin du fichier de clé par défaut, une phrase de passe vide, les bits par défaut pour le type de clé et le commentaire par défaut. Normalement, j’ajouterais une phrase de passe à la clé, mais dans la version actuelle d’OpenSSH fournie par Windows 10, ssh-keygen répondra avec une erreur « failed : invalid argument » lorsque vous essayez d’ajouter une phrase de passe.

Running ssh-keygen.exe

Lorsque ssh-keygen a fini de créer et d’enregistrer votre clé, il vous ramènera à l’invite de commande comme indiqué ci-dessus. Vous pouvez taper exit et appuyer sur entrée pour quitter l’invite de commande élevée.

Malheureusement, nous n’avons pas encore fini et si vous essayez de démarrer le service sshd, Windows répondra à nouveau avec une « erreur 1067 ». Ceci est dû au fait que le compte NT Service\sshd n’a pas accès au fichier C:\Windows\system32\OpenSSH\ssh_host_ed25519_key. Pour résoudre ce problème, allez dans les propriétés du fichier ssh_host_ed25519_key et effectuez les modifications suivantes :

  • Changer le propriétaire du fichier en NT Service\sshd.
  • Donner au NT Service\sshd uniquement l’autorisation de lecture sur ce fichier.
  • Supprimer les autorisations de tous les utilisateurs sur ce fichier. Par exemple, votre compte connecté aura des permissions, qui doivent être supprimées.

Une fois fait, vos permissions sur le fichier ssh_host_ed25519_key devraient ressembler à :

Bonnes permissions

Si vous ne définissez pas les permissions correctement, vous ne pourrez pas démarrer le service sshd et le fichier journal affichera les erreurs suivantes :

Quand vous aurez défini les autorisations appropriées sur le fichier de clé privée, vous pourrez à nouveau démarrer le service sshd. Cette fois, cependant, le service sshd démarrera et sera disponible pour que les ordinateurs puissent se connecter.

Service sshd démarré

Maintenant que le service est en cours d’exécution, vous pouvez vous connecter à distance à votre boîte Windows 10 via SSH. Vous trouverez ci-dessous un exemple de ce à quoi cela ressemble lorsque vous vous connectez en SSH à un ordinateur Windows 10. Notez que vous obtenez une invite de commande complète où vous pouvez exécuter tous les outils de ligne de commande, y compris PowerShell.

Invite de commande de Windows 10 sur SSH

Le service sshd est à Automatique (démarrage différé), ce qui signifie que Windows lancera ce service après que tous les autres services qui sont définis à Automatique ont fini de démarrer. Par conséquent, après le redémarrage d’un ordinateur, il peut s’écouler quelques minutes avant que le serveur OpenSSH soit opérationnel et que l’on puisse s’y connecter.

Avec un serveur OpenSSH fonctionnant sur Windows 10, vous avez ajouté une couche supplémentaire de flexibilité avec la façon dont vous pouvez gérer un ordinateur. Si vous décidez d’activer le serveur OpenSSH, assurez-vous que le port 22, sur lequel sshd écoute, est uniquement accessible par des adresses IP de confiance.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.