Magic Quadrant™ pour la gestion des accès privilégiés 2025 : Netwrix reconnue pour la quatrième année consécutive. Téléchargez le rapport.

Plateforme
Centre de ressourcesBlog
Comment utiliser OpenSSH pour déplacer des fichiers dans Windows Server

Comment utiliser OpenSSH pour déplacer des fichiers dans Windows Server

Apr 5, 2024

Les administrateurs Linux et Unix sont habitués à utiliser Open Secure Shell (OpenSSH) pour se connecter aux serveurs car cela fait des décennies qu'il est inclus dans ces systèmes. Les utilisateurs de Windows, en revanche, ont traditionnellement dû télécharger des outils tiers tels que Putty ou WinSCP pour utiliser les capacités SSH.

Cependant, cela a changé lorsque OpenSSH est devenu disponible en tant que fonctionnalité optionnelle dans Windows 10 et Windows Server 2019. Parce que Windows propose désormais nativement à la fois un serveur SSH et un client SSH, il n'y a aucune raison d'utiliser jamais telnet ou FTP, qui ne disposent d'aucune capacité de chiffrement — SSH offre une sécurité supérieure lorsque vous avez besoin de vous connecter à un serveur ou de copier des fichiers via une connexion réseau.

Cet article explique comment installer OpenSSH et l'utiliser pour transférer des fichiers de manière sécurisée en utilisant soit WinSCP soit PowerShell.

À quoi sert OpenSSH ?

OpenSSH est un outil qui fournit des sessions de communication sécurisées sur un réseau informatique en utilisant le protocole SSH. Il peut être utilisé pour une variété de tâches, y compris les suivantes :

  • Connectez-vous de manière sécurisée à des machines distantes pour exécuter des commandes de gestion de serveur ou de support technique.
  • Copiez ou déplacez des fichiers entre deux machines en toute sécurité.

Ces tâches sont sécurisées car OpenSSH inclut le protocole Secure Copy (SCP) et le protocole de transfert de fichiers SSH (SFTP), et OpenSSH chiffre tout le trafic à travers un tunnel sécurisé, vous permettant de transmettre des données sensibles sur Internet ou un réseau non sécurisé. Le tunnel est créé lorsque le client et le serveur échangent des clés publiques.

Comment ajouter la fonctionnalité OpenSSH sur Windows

Prérequis

Pour installer OpenSSH sur une machine Windows :

  • L'appareil doit exécuter au moins Windows Server 2019 ou Windows 10 (build 1809).
  • La machine doit exécuter PowerShell 5.1 ou une version ultérieure.
  • Vous devez utiliser un compte qui est membre du groupe d'administrateurs intégré.

Vous devriez commencer par vérifier si OpenSSH est déjà installé. En utilisant un terminal PowerShell d'Administrateurs, exécutez cette commande :

      Get-WindowsCapability -Online -Name "Open*"
      

Vous pouvez voir dans la capture d'écran ci-dessous que le client OpenSSH est installé mais le serveur OpenSSH n'est pas.

Image

Vous pouvez installer à la fois le serveur OpenSSH et le client OpenSSH en utilisant les paramètres Windows ou PowerShell, comme expliqué ci-dessous.

Installation d'OpenSSH à l'aide des Paramètres Windows

  1. Pour commencer, allez à la section Apps & features des Paramètres et cliquez sur Manage optional features.
Image
  • Cliquez Add a feature.
Image
  • Pour installer le composant serveur, sélectionnez OpenSSH Server et cliquez sur le bouton Installer.
Image
  • Ensuite, installez le client SSH. Sélectionnez OpenSSH Client et cliquez sur Installer. Notez que si le client est déjà installé, vous verrez un bouton Désinstaller à la place, comme indiqué ci-dessous ; dans ce cas, aucune action n'est nécessaire.
Image
  • Configurez le service OpenSSH pour s'exécuter automatiquement à l'aide du Gestionnaire de services Windows, comme illustré dans cette capture d'écran :
Image
  • Si le pare-feu Windows Defender avec sécurité avancée est activé, vous devrez ouvrir le port 22, qui est attribué à SSH par l'Internet Assigned Numbers Authority (IANA).

Utiliser PowerShell pour installer OpenSSH

Alternativement, vous pouvez installer les composants serveur et client OpenSSH en utilisant Windows PowerShell.

  1. Installez le composant serveur OpenSSH en utilisant la commande suivante :
      Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

      
Image
  • Ensuite, installez le client OpenSSH en utilisant la commande suivante :
      Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
      
  • Ensuite, utilisez les commandes PowerShell suivantes pour configurer le service OpenSSH et le démarrer.
      Start-Service sshd
Set-Service -Name sshd -StartupType ‘Automatic’
      
Image
  • Comme mentionné précédemment, le port 22 doit être ouvert sur le pare-feu. Vous pouvez rapidement vérifier si une règle de pare-feu est déjà configurée pour OpenSSH en utilisant la commande suivante :
      Get-NetFirewallRule -Name *ssh*
      

La sortie ci-dessous montre qu'une règle a déjà été créée.

Image

Si la règle est absente, utilisez la commande suivante pour ouvrir le port SSH :

      New-NetFirewallRule -Name sshd -DisplayName ‘OpenSSH Server (sshd)’ -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
      
  • Enfin, assurez-vous que tout est correctement configuré et que le démon OpenSSH est à l'écoute des connexions entrantes. Pour tester la connexion, exécutez la commande suivante depuis un autre serveur ou une machine de bureau :
      Test-NetConnection -ComputerName <computer name> -Port 22 -InformationLevel Detailed
      

Si le test est réussi, vous verrez quelque chose comme ceci :

Image

Si cela échoue, cela pourrait signifier plusieurs choses liées à la connectivité réseau ; comme la règle de pare-feu n'ayant pas été créée ou activée sur un ordinateur distant.

Comment déplacer un fichier en utilisant SSH

Déplacer un fichier en utilisant SSH est presque identique à le déplacer avec une application FTP comme WinSCP. Notez que vous devez avoir la permission de lire le fichier sur la machine source et la permission d'écriture sur le répertoire de destination.

Déplacer un fichier en utilisant WinSCP

Tout d'abord, utilisons d'abord l'utilitaire WinSCP pour tester le nouveau serveur SSH. (Si nécessaire, vous pouvez télécharger WinSCP ici.) Notez que si vous utilisez WinSCP, vous n'avez pas besoin d'activer le client OpenSSH.

  1. Ouvrez WinSCP et définissez une nouvelle connexion au serveur : Choisissez Nouveau Site, assurez-vous que le protocole de fichier est réglé sur SFTP et que le port est défini sur 22 (les valeurs par défaut), et saisissez un nom d'utilisateur, comme montré dans l'exemple ci-dessous.
Image
  • Cliquez sur le bouton Login et fournissez le mot de passe pour le compte que vous avez spécifié. La boîte de dialogue suivante affichera l'empreinte de la clé ECDSA du serveur, comme illustré dans la capture d'écran ci-dessous. Cette clé est principalement utilisée pour s'assurer que le client communique avec le bon serveur. Lorsque le client se connecte au serveur pour la première fois, la clé publique de l'hôte est transmise au client. Cliquez sur Oui pour continuer.
Image
  • Dans la fenêtre suivante, le volet gauche affichera le dossier par défaut de la machine source, et le volet droit affichera le dossier par défaut pour l'utilisateur sur le serveur cible. Naviguez vers les dossiers souhaités. Dans l'exemple ci-dessous, nous avons cliqué avec le bouton droit sur un fichier pour le télécharger sur l'appareil client. Alternativement, vous pouvez glisser les fichiers d'un côté à l'autre.
Image

Copier un fichier ou un répertoire en utilisant OpenSSH

Pour copier un fichier en utilisant Windows OpenSSH, vous pouvez utiliser la commande PowerShell suivante. Notez que le serveur OpenSSH et le client doivent être activés.

      scp <filename>  <username>@<hostname>:<directory_path>
      

Pour copier un répertoire entier, utilisez la commande suivante.

      scp -r <local_directory_path>  <username>@<hostname>:<remote_directory_path>
      

Si le répertoire n'existe pas sur le serveur cible, il sera créé (à condition que vous ayez la permission de le faire).

Vous pouvez également copier des fichiers aller-retour entre des serveurs Linux et Unix et des serveurs et postes de travail Windows.

Comment Netwrix peut aider

Si vous déplacez ou copiez des fichiers de données, il y a de fortes chances que vous ayez besoin de protéger ces données — non seulement pendant l'opération de transfert mais tout au long de leur cycle de vie. Data access governance logiciel de Netwrix offre une approche efficace et évolutive pour le suivi des activités de fichiers. De plus, cela vous aidera à réduire le risque d'incidents de cybersécurité en vous permettant de comprendre qui a accès à quoi et de limiter strictement l'accès aux données sensibles. Vous pouvez :

  • Auditez l'activité à travers votre écosystème informatique.
  • Réduisez l'accès aux données sensibles au strict nécessaire pour diminuer le risque de menaces internes et minimiser les dommages causés par les rançongiciels et autres attaques.
  • Rationalisez les attestations de privilèges régulières par les propriétaires de données.
  • Protégez les données sensibles où qu'elles aillent avec un marquage précis et cohérent du contenu.

Questions Fréquemment Posées

Comment déplacer un fichier en utilisant SSH ?

Lorsque vous travaillez avec des systèmes de type Unix, vous pouvez utiliser la commande mv pour déplacer un fichier d'un emplacement à un autre sur un serveur distant en utilisant SSH.

Pour les machines Windows, vous pouvez soit installer une application serveur et client SSH tierce, soit activer la fonctionnalité OpenSSH (nécessite Windows Server 2019 ou 2022, ou Windows 10 ou 11).

Dans les deux cas, vous devez disposer des identifiants de connexion pour vous connecter, ainsi que des autorisations nécessaires pour lire le fichier sur la machine source et l'autorisation d'écriture sur le répertoire de destination.

SSH permet-il le transfert de fichiers ?

Oui. SSH inclut le protocole de copie sécurisée (SCP) et le protocole de transfert de fichiers SSH (SFTP), qui permettent le transfert sécurisé de fichiers entre un hôte local et un hôte distant.

Comment puis-je transférer des fichiers d'un serveur SSH vers une machine locale ?

Une manière de transférer un fichier d'un serveur OpenSSH vers une machine avec une version prise en charge de Windows ou Windows Server est d'utiliser la commande PowerShell suivante :

      scp C:\path\to\local\file username@remote-server:/path/to/remote/directory
      
  • Remplacez C:\path\to\local\file par le chemin vers le fichier que vous souhaitez copier sur votre machine locale.
  • Remplacez username par le nom d'utilisateur sur le serveur distant. (On vous demandera le mot de passe.)
  • Remplacez remote-server par le nom d'hôte ou l'adresse IP du serveur distant.
  • Remplacez path/to/remote/directory par le chemin vers le répertoire sur le serveur distant où vous souhaitez copier le fichier.

Alternativement, vous pouvez utiliser des utilitaires SSH tiers qui offrent des menus faciles à utiliser.

Partager sur

En savoir plus

À propos de l'auteur

Asset Not Found

Ethan Israel

Chef de produit

Ethan est Product Manager chez Netwrix. Avec plus de 10 ans d'expérience dans l'industrie du logiciel, il est responsable de la construction et de la livraison de la feuille de route pour le produit Netwrix Enterprise Auditor.