Comment configurer un serveur SFTP sous Windows avec OpenSSH

Transférer des données sans fil sur un réseau local n’est pas une nouveauté, cela fait longtemps que les gens le font. Vous savez peut-être de quoi je parle: une connexion FTP. Avec un client FTP, vous pouvez connecter un appareil à un autre pour transférer vos données sur un réseau.

Mais comme le protocole FTP n'est pas sûr au départ, vous devriez envisager de l'abandonner au profit de quelque chose de mieux.

Pour ceux qui ne le savent pas, il existe un protocole de transfert sans fil bien meilleur, appelé SFTP. Le S dans SFTP signifie littéralement sécurisé. Il chiffre les informations de connexion de la connexion et les données transférées. Ainsi, personne ne peut accéder et altérer le transfert de données. Le protocole FTP, quant à lui, est sécurisé, car toute personne écoutant le trafic réseau obtient les informations non protégées.

La bonne chose à propos de SFTP est que vous pouvez l'utiliser pour tout ce pour quoi vous avez utilisé FTP. Donc, vous obtenez une meilleure sécurité gratuitement. Qu'est-ce que vous avez à perdre, non?

Maintenant, il n'y a qu'un seul problème. Les versions de Windows antérieures à Windows 10 ne sont pas fournies avec SSH, vous devez donc installer OpenSSH (ou quelque chose de similaire). Ceci est une implémentation SSH open source, et devinez qui le recommande? Microsoft. OpenSSH est inclus dans Windows 10 et Windows Server 2019.

Ce tutoriel est basé sur la documentation OpenSSH d'origine. Le guide officiel peut paraître intimidant, raison pour laquelle nous en avons conçu un aussi convivial que possible. Vous pouvez suivre cette méthode dans n’importe quelle version de Windows que j’ai testée sous Windows 7.

Comment configurer un serveur SFTP sous Windows avec OpenSSH

Ce processus comprend deux étapes: l'installation d'OpenSSH et l'ouverture d'un port SSH pour que SFTP fonctionne.

Installer OpenSSH (et activer les services requis)

  1. Téléchargez OpenSSH depuis GitHub.
  2. Extrayez l'archive dans le dossier Program Files.
  3. Ouvrez PowerShell en tant qu'administrateur et collez la commande suivante dans la fenêtre pour accéder au dossier: cd "C: \ Program Files \ OpenSSH-Win64".
  4. SSH nécessite deux services pour s'exécuter, sshd et ssh-agent. Pour les installer, collez la commande suivante dans la fenêtre PowerShell: powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1 . Vous devriez voir un message "Les services sshd et ssh-agent ont été installés avec succès".
  5. Fermez la fenêtre PowerShell.
  6. Vous pouvez démarrer les services manuellement ou les configurer pour qu'ils s'ouvrent automatiquement à l'aide de Services.msc . Cela créera le dossier "C: \ ProgramData \ ssh" avec votre clé d’hôte, ce qui est essentiel pour que le service fonctionne.

Remarque : Les services sont nommés OpenSSH Authentication Agent et OpenSSH SSH Server.

Ouverture manuelle du port SSH dans le pare-feu Windows

  1. SSH utilise le port 22 pour le transfert / l'authentification, qui est fermé sous Windows car SSH n'est pas inclus par défaut. Pour l'ouvrir, ouvrez le Pare-feu Windows à partir du Panneau de configuration.
  2. Cliquez sur Règles entrantes (dans le volet de gauche).
  3. Dans le volet de droite, cliquez sur nouvelle règle, sélectionnez Port et cliquez sur Suivant.
  4. Tapez le numéro 22 dans l'option Ports locaux spécifiques, puis cliquez sur Suivant.
  5. Choisissez "Autoriser la connexion", cliquez sur Suivant et sélectionnez "Privé" pour l'option de réseau.
  6. Donnez un nom à la règle. Par exemple, SSH ou OpenSSH.
  7. Cliquez sur Terminer.

Ça y est, vous êtes prêt à partir.

Test du serveur SFTP

Testons si cela fonctionne. Pour ce faire, vous avez besoin d’un client SFTP. WinSCP est celui que j’utilise sous Windows, mais vous pouvez utiliser tout autre supportant SFTP, par exemple FileZilla, FTP Rush ou un gestionnaire de fichiers prenant en charge SFTP, tel que Altap Salamander.

Pour Android, vous avez beaucoup d'options. Total Commander et Ghost Commander ont des plug-ins SFTP, tandis que certaines applications telles que Amaze File Manager ou X-plore File Manager intègrent cette fonctionnalité.

les fenêtres

Exécutez WinSCP et sélectionnez "SFTP" comme protocole. Dans le champ du nom d'hôte, entrez "localhost" (si vous testez le PC sur lequel vous avez installé OpenSSH). Vous devrez entrer votre nom d'utilisateur et votre mot de passe Windows pour permettre au programme de se connecter au serveur. Appuyez sur Enregistrer, puis sélectionnez Connexion.

Vous verrez une fenêtre pop-up comme celle ci-dessous, qui vous demande si vous faites confiance au serveur auquel vous essayez de vous connecter. Puisque le serveur est votre propre ordinateur, vous pouvez le permettre. Fondamentalement, il s’agit de la clé d’hôte qui authentifie la connexion établie par le périphérique. Vous pouvez également l'utiliser pour transférer du contenu d'un ordinateur à un autre.

Remarque: Si votre compte d'utilisateur Windows ne possède pas de mot de passe, vous devrez utiliser une clé publique pour authentifier le serveur SFTP, ce qui implique un processus séparé. Vous pouvez créer un autre compte sur le système pour accéder à SFTP, mais vous devrez peut-être rendre les fichiers disponibles en dehors du répertoire de l'utilisateur.

Android

Utilisons Amaze File Manager, qui est open source. Appuyez sur le bouton +, puis sélectionnez "Connexion au cloud". Choisissez une connexion SCP / SFTP et une fenêtre contextuelle devrait apparaître. Recherchez l'adresse IP de votre ordinateur à l'aide de l'invite de commande et de la commande IP config. Par exemple, mon PC a l'adresse 192.168.1.9

Entrez-le dans le champ du serveur, laissez le numéro de port 22 et entrez votre nom d'utilisateur et votre mot de passe Windows dans les champs respectifs. Il devrait se connecter à votre ordinateur et vous pourrez accéder à tout le contenu auquel le compte Windows peut accéder.

Mots de clôture

L'un des principaux avantages de cette opération est que vous pouvez facilement accéder aux fichiers ou les transférer sur un réseau. Ce n'est pas quelque chose dont tous les utilisateurs ont besoin et il existe certainement d'autres options pour atteindre le même objectif en fonction des besoins individuels.

Maintenant vous : avez-vous déjà installé SSH ou l'avez-vous activement utilisé?