Non classéWindows Server

Comment installer un serveur SFTP sur Windows Server

Dans cet article, nous verrons ensemble comment installer un serveur SFTP sur Windows Server. J’utiliserai ici Windows Serveur 2022 mais vous pouvez faire de même sur les versions précédentes. Nous utiliserons ici le logiciel open source OpenSSH pour réaliser cette tâche.

Pourquoi utiliser un serveur SFTP ?

Un serveur SFTP est un moyen sécurisé et fiable de transférer des fichiers entre différents systèmes. Il est peut-être utile lorsque vous souhaitez partager des données en toute sécurité sur le réseau.

Prérequis

Avant de commencer l’installation, assurez-vous que vous avez :

  1. Un serveur Windows Server avec un accès administrateur.
  2. Une connexion Internet pour télécharger les fichiers d’installation nécessaires.

Étape 1 : Téléchargement et installation d’OpenSSH

Téléchargement d’OpenSSH

Plusieurs méthodes pour le téléchargement et l’installation d’OpenSSH. Si votre serveur n’a pas internet, vous pouvez télécharger OpenSSH sur le lien ci-dessous. Cependant, si votre serveur a internet, vous pouvez effectuer la méthode un peu plus loin.

Télécharger OpenSSH pour Windows

Installation d’OpenSSH

Si votre serveur a internet, deux méthodes pour installer OpenSSH, soit via la commande powershell suivante :

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Soit directement depuis les paramètres de Windows :

  1. Depuis les paramètres de Windows, cliquez sur « Applications ».
  2. Sélectionnez « Fonctionnalités facultatives ».
  3. Puis cliquez sur « Ajouter une fonctionnalité ».
  4. Dans la zone de recherche, tapez « SSH », puis sélectionnez « Serveur OpenSSH » et cliquez sur « Installer ».
  5. L’installation prendra quelques secondes.

Maintenant que le serveur OpenSSH est installé. Nous allons pouvoir parler de la configuration.

Configuration SFTP avec OpenSSH Serveur.

Maintenant que OpenSSH Server est installé, un nouveau service est disponible. Cependant, par défaut, il n’est pas démarré et pas en automatique non plus.

Cela signifie qu’il ne sera pas démarré automatiquement avec Windows. Dans mon cas, je souhaite démarrer le service et de faire en sorte qu’il démarre automatiquement avec Windows. Nous pouvons le faire directement depuis le service lui-même ou encore via powershell via les commandes suivantes :

Set-Service -Name sshd -StartupType 'Automatic'
Start-Service sshd

Puisque nous sommes sous Powershell, profitons-en pour ouvrir également le port 22, port par défaut du SSH et donc de notre SFTP. Attention, si vous souhaitez faire tourner votre serveur SFTP sur un autre port, alors adapter la commande. Ici on ouvre le port 22 sur le pare-feu de Windows :

New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH

Maintenant que notre serveur OpenSSH est démarré et autorisé sur le parefeu, nous allons le configurer en fonction de nos besoins. Pour cela, tout se passe sur le fichier sshd_config disponible dans le dossier suivant : C:\ProgramData\ssh

Éditer le fichier sshd_config avec votre éditeur préféré. Dans mon cas, notepad++.

Ici nous verrons ensemble les principaux paramètres que vous pourriez être en mesure de modifier.

Changement de port

#Port 22 : Ici, vous pouvez décommenter cette ligne pour changer le port par défaut pas celui que vous voulez (adapter alors la configuration de votre pare-feu en conséquence)

Autorisation de connexion

Il y a plusieurs méthodes pour autoriser une connexion sur votre serveur. Dans mon cas, j’utilise un group dédié aux SFTP, ainsi, tous les utilisateurs de ce groupe peuvent s’y connecter. J’ajoute donc la ligne suivante au fichier de configuration :

AllowGroups domain\sftp_users

Changer le dossier par défaut

Le dossier par défaut est le dossier racine du profil utilisateur, si ce n’est pas votre souhait, alors vous pouvez tout à fait changer ce dossier via la commande suivante :

ChrootDirectory C:\SFTP

Si vous préférez faire un dossier spécifique par utilisateur, c’est également possible en ajouter les lignes suivantes :

Match User utilisateur1
ChrootDirectory c:\SFTP\utilisateur1
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no

Match User utilisateur2
ChrootDirectory c:\SFTP\utilisateur2
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no

Supprimer l’accès root / administrateur

Si vous souhaitez supprimer l’accès au groupe administrateur local par mesure de sécurité, il faudra commenter les lignes suivantes (à la fin du fichier de configuration) :

#Match Group administrators
#      AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

puis ajouter la ligne suivante :

DenyGroups administrateurs

Une fois votre configuration terminée, enregistrer le fichier puis redémarrer le service openSSH server pour que le fichier de configuration soit lu à nouveau et appliqué. Vous pouvez le faire depuis le gestionnaire de services ou via powershell en utilisant la commande suivante :

Restart-Service "sshd"

Et voilà ! Vous savez maintenant comment configurer un serveur SFTP sous Windows. Vous pouvez tester ça avec n’importe quel client SFTP.

Mikaël GUILLERM

Administrateur Système et Autoentrepreneur depuis 2009 pour la société zerobug. Je partage mes connaissances, problèmes et solutions à travers articles ou tweets !

Articles similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page