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 :
- Un serveur Windows Server avec un accĂšs administrateur.
- 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 :
- Depuis les paramÚtres de Windows, cliquez sur « Applications ».

- Sélectionnez « Fonctionnalités facultatives ».

- Puis cliquez sur « Ajouter une fonctionnalité ».
- Dans la zone de recherche, tapez « SSH », puis sélectionnez « Serveur OpenSSH » et cliquez sur « Installer ».

- 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.
https://googleads.g.doubleclick.net/pagead/ads?gdpr=1&gdpr_consent=CQfW2MAQfW2MABcAKBFRCRFoAP_gAEPgAAqIJNQLwABAALAAeABUADIAHAAQAAqABbADQANQAmABbgDCAMQAcgA8ACEAE6ALgAY4A9AB-gEDAIQAR0AngBVwC6gGEANAAaIA2gCPQEvAJiAT-AowBcwC8wGLgMZAZIBAcCMIEZAIzASHAk0CTUBUABYADwAKgAcABAACqAGgAagBMADEAIQAfoBCACOgFXANEAbQBHoCYgFzALzAZIAA&addtl_consent=2~2997.587.93.108.2867.3017.2973.2941.2571.196.2316.3154.2767.2213.1230.89.1205.1186.1870.2572.1842.491.1558.2887.981.1092~dv.&client=ca-pub-9960398322725539&output=html&h=280&slotname=4353807789&adk=4137518927&adf=1138032768&pi=t.ma~as.4353807789&w=720&fwrn=4&fwrnh=100&lmt=1770607581&rafmt=1&format=720×280&url=https%3A%2F%2Fwww.tech2tech.fr%2Fcomment-installer-un-serveur-sftp-sur-windows-server%2F&fwr=0&rpe=1&resp_fmts=3&uach=WyJXaW5kb3dzIiwiMTkuMC4wIiwieDg2IiwiIiwiMTQ0LjAuMzcxOS4xMDQiLG51bGwsMCxudWxsLCI2NCIsW1siTm90KEE6QnJhbmQiLCI4LjAuMC4wIl0sWyJDaHJvbWl1bSIsIjE0NC4wLjc1NTkuMTEwIl0sWyJNaWNyb3NvZnQgRWRnZSIsIjE0NC4wLjM3MTkuMTA0Il1dLDBd&abgtt=9&dt=1770644333133&bpp=2&bdt=31&idt=22&shv=r20260204&mjsv=m202602030101&ptt=9&saldr=aa&abxe=1&cookie=ID%3D71461b02e329d723%3AT%3D1770643965%3ART%3D1770644278%3AS%3DALNI_MYdj9T_W2geTiunvzPxpxqkVrpbdQ&gpic=UID%3D00001314ddc9e9c0%3AT%3D1770643965%3ART%3D1770644278%3AS%3DALNI_MZMYSGCFhLZ7ATm6m1X8imJTvsigQ&eo_id_str=ID%3D812dcd72ef6a81a0%3AT%3D1770643965%3ART%3D1770644278%3AS%3DAA-AfjalaulRhWuWuLNFaUWieuU0&prev_fmts=370×280%2C0x0&nras=1&correlator=7190062833538&frm=20&pv=1&u_tz=60&u_his=4&u_h=1080&u_w=1920&u_ah=1032&u_aw=1920&u_cd=24&u_sd=1&dmc=8&adx=395&ady=5073&biw=1897&bih=924&scr_x=0&scr_y=1398&eid=95378429%2C95381032%2C95381247%2C95382332%2C95382340%2C95382730%2C95372615%2C95373849&oid=2&pvsid=5756435893919093&tmod=533820104&uas=3&nvt=1&ref=https%3A%2F%2Fwww.tech2tech.fr%2F&fc=896&brdim=1920%2C0%2C1920%2C0%2C1920%2C0%2C1920%2C1032%2C1912%2C924&vis=1&rsz=%7C%7CoeEbr%7C&abl=CS&pfx=0&fu=128&bc=31&bz=1&pgls=CAEaBTYuOC4z&ifi=1&uci=a!1&btvi=1&fsb=1&dtd=5487

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.


