Si vous avez eu l’occasion de tester la préversion de la future nouvelle version de Windows Server, vous aurez probablement noté qu’il y avait pas mal de nouveautés à venir. L’une d’entre elle est pour le moins intéressante puisque désormais OpenSSH, le moyen de se connecter et d’administrer un serveur en ligne de commandes (normalement Linux), sera intégré comme composant de base dans Windows Server ! 🐧
SSH intégré dans le Server Manager
L’intégration est omniprésente et Microsoft tend à la mettre en avant puisque vous retrouverez une option dédiée directement dans la console Server Manager de votre Windows Server. L’option s’appelle Remote SSH Access.
Mais par défaut, l’option n’est pas active et le firewall intégré à Windows n’autorise pas ce flux par défaut. Je vous propose de voir dans la partie suivante comme vous pouvez tester cette nouvelle fonctionnalité en temps réel.
Activation de SSH dans Windows Server
A première vue et même si ça pourrait changer dans le futur, il semble qu’il n’y ait pas d’option graphique pour procéder à l’installation du module depuis l’ajout d’un rôle ou d’une fonctionnalité. Pour voir la disponibilité des modules, vous pouvez utiliser la commande suivante :
Get-WindowsCapability -Online | Where-Object Name -like "OpenSSH*"
Pour installer le module sur votre serveur, vous pouvez utiliser la commande ci-dessous :
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Une fois que c’est fait, si vous souhaitez tenter de vous connecter, n’oubliez pas de modifier les réglages de votre pare-feu Windows. Vous devez soit créer une nouvelle règle pour autoriser le port SSH 22/TCP (ou bien si comme moi vous testez « pour voir » – vous pouvez désactiver le FW intégré de Windows).
Démarrage du service OpenSSH (par défaut pas en automatique)
Enfin dernier point, n’oubliez pas de démarrer le service avant de tenter de vous connecter car il n’est pas configuré pour démarrer automatiquement. Vous pouvez donc le démarrer manuellement ou changer le réglage pour configurer le mode Automatique dans la console services.msc.
Donner le droit de se connecter
Enfin, pour que vous puissiez vous connecter sur le serveur distant vous devez également être membre du tout nouveau groupe qui a été créé par Microsoft et qui s’appelle : OpenSSH Users. 👍 (ou bien votre compte est déjà membre du groupe Administrators et dans ce cas, vous avez le privilège de base).
Tester la connexion
Pour tester il ne vous reste plus qu’à utiliser votre logiciel SSH préféré. Il peut s’agir de PuTTY, Royal TS ou tout simplement la nouvelle application Terminal proposée par Microsoft. Si vous n’avez pas encore testé cette application, vous pouvez la récupérer gratuitement en suivant ce lien sur le Microsoft Store.
Pour vous connecter en SSH, il suffit de taper :
ssh administrator@10.20.0.11
Ensuite, indiquez le mot de passe correspondant à votre compte. Si ça fonctionne, vous verrez dans le prompt que vous êtes désormais connecté sur le serveur distant.
Alors évidemment, vous allez me dire mais c’est quoi l’intérêt à l’heure du Remote PowerShell. On peut imaginer une machine WSL configurée sur le Windows Server en question… Ou simplement vous êtes plus à l’aise en SSH qu’en Remote PowerShell. Quoiqu’il en soit, je trouve que c’est une nouveauté qui méritait d’être mise en lumière.