Comment utiliser le client SSH natif de Windows 11 ?
Sommaire
I. Présentation
Windows 10 et Windows 11 intègrent un client SSH natif, basé sur OpenSSH. Vous n’avez donc plus besoin de recourir systématiquement à un outil tiers comme PuTTY (ou MTPutty) pour vous connecter à des machines Linux ou Windows, des équipements réseau ou des hyperviseurs. Dans ce tutoriel, nous allons voir comment utiliser le client SSH sous Windows 11, notamment avec les connexions par mot de passe ou par clé publique, et effectuer des transferts de fichiers via SCP ou SFTP.
Version originale de l’article : 28 octobre 2020
II. Installer le client SSH sous Windows
Il y a de fortes chances que le client SSH (client OpenSSH) soit déjà installé sur votre machine, qu’elle soit sous Windows 10 ou Windows 11. À partir d’une console PowerShell ouverte en tant qu’administrateur, vous pouvez le vérifier rapidement avec cette commande :
Get-WindowsCapability -Online | Where{ $_.Name -like 'OpenSSH.Client*' }
Ce client SSH est distribué au travers des fonctionnalités à la demande de Windows 10. Il est à noter qu’il est installé par défaut depuis Windows Server 2019 ainsi que sur Windows 10 depuis la version 1809. Il est donc natif sur Windows 11.

La commande précédente permet de s’en assurer. Dans le cas où il n’est pas installé, il est possible de procéder à l’installation.
Voici comment l’installer à l’aide de PowerShell :
Add-WindowsCapability -Online -Name OpenSSH.Client
En guise d’alternative, il est tout à fait possible d’utiliser DISM. Ce qui donne :
Attention à ne pas confondre avec OpenSSH Server, qui permettrait de se connecter à distance sur la machine locale, via SSH. Il s’agit d’un composant à part, que vous pourriez installer également avec DISM :
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0
Même si la méthode en ligne de commande est plus directe, c’est aussi possible à partir de l’interface graphique de Windows.
Les binaires d’OpenSSH sont installés directement dans le dossier , et non dans le dossier . C’est assez logique puisqu’il s’agit d’un composant Windows.
Le client SSH donne accès à un ensemble d’utilitaires, accessibles à partir de la ligne de commande :
- : méthode de transfert de fichiers via SSH
- : méthode de transfert de fichiers via FTP (dans SSH)
- : le client SSH pour établir une connexion interactive avec un hôte distant
- : ajouter une clé SSH à la base de données locale de l’agent
- : gestion des clés SSH de l’hôte
- : générer des clés SSH
- : collecter les clés publiques à partir de plusieurs hôtes
Dans ce tutoriel, nous allons utiliser deux utilitaires : le client SSH principal, à savoir , ainsi que pour le transfert de fichiers. D’ailleurs, si vous exécutez dans une console PowerShell ou une Invite de commande, vous verrez que l’aide s’affiche. Cela montre bien que l’outil est bien présent.

À titre d’information et avant de poursuivre, voici comment désinstaller le client SSH sur Windows :
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
III. Utiliser le client SSH sous Windows
A. Connexion SSH simple
Pour se connecter en SSH sur une machine distante à partir de la ligne de commande Windows, il convient d’utiliser et d’y ajouter des options. En effet, nous allons préciser le nom d’utilisateur et l’hôte cible. Par défaut, le client SSH va prendre le port 22 pour la connexion, à savoir le port par défaut de SSH.
Par exemple, pour se connecter avec l’utilisateur sur l’hôte ayant l’adresse IP , la commande sera :
ssh [email protected]
Si l’hôte distant respecte les bonnes pratiques de sécurité, il y a des chances pour que le port SSH ne soit pas le port 22. Dans ce cas, vous devez utiliser l’option et préciser le numéro de port. Par exemple avec le port :
ssh [email protected] -p 22222
Lors de la première connexion, il sera nécessaire d’accepter la clé de l’hôte distant. Pour cela, saisissez et appuyez sur “Entrée” dans la console. À partir de ce moment-là, le mot de passe sera demandé : saisissez-le.
Voilà, vous êtes connecté et pouvez profiter de votre shell SSH. Vous pouvez lancer des commandes sur la machine distante à partir du terminal interactif. Saisissez simplement pour vous déconnecter.

B. Connexion SSH avec une clé
Pour effectuer une authentification SSH par clé, par exemple pour se connecter de Windows vers Linux en SSH avec une clé, voici comment procéder. Tout d’abord, il convient de générer une paire de clés SSH si vous n’en avez pas. Il est possible de le faire de différentes façons, y compris via PuTTYgen, ou simplement avec cette commande :
Un nom de fichier vous sera demandé, ainsi qu’une passphrase. Elle devra être saisie à chaque fois que la clé est utilisée. C’est facultatif (et contraignant dans certains cas).

Suite à l’exécution de cette commande, vous obtenez deux fichiers :
- La clé privée :
- La clé publique :
La clé privée ne doit pas être partagée. Donc, pour effectuer une connexion SSH sur un hôte distant, il va falloir autoriser notre clé publique. C’est elle qui doit prendre la direction du serveur distant.
En temps normal, cette autorisation de connexion peut s’effectuer à distance via la commande , mais celle-ci n’est pas disponible sur Windows.
Nous allons contourner le problème en poussant le contenu de la clé publique vers le serveur distant, au sein du fichier de la session de l’utilisateur avec lequel nous voulons nous connecter.
Voici la commande à exécuter :
Dans cette commande, vous devez adapter le chemin vers la clé publique, le nom d’utilisateur pour la connexion SSH et l’adresse IP de l’hôte distant. Saisissez votre mot de passe et l’information sera poussée.
Ensuite, relancez une connexion SSH vers l’hôte distant. La connexion s’effectuera à l’aide de votre clé SSH. Si vous avez déterminé une passphrase, il sera nécessaire de la préciser, sinon la connexion sera automatique. Voici un exemple :

Vous pouvez indiquer une clé privée spécifique à l’aide de l’option et du chemin vers cette clé.
ssh [email protected] -i "C:UsersFlorian.sshid_2025"
Pour éviter de devoir saisir la passphrase de la clé à chaque utilisation, vous devez la lier à l’agent SSH. Ceci est valable pour une clé existante ou celle que vous venez de générer. Vous pouvez l’ajouter à votre base locale grâce à la commande .
ssh-add "C:UsersFlorian/.ssh/id_ed25519"
Suite à l’exécution de cette commande, vous allez probablement obtenir l’une de ces erreurs :
Error connecting to agent: No such file or directory
# ou
unable to start ssh-agent service, error :1058
Cette erreur est normale car le service est arrêté sur Windows. Grâce aux deux commandes ci-dessous, vous allez configurer le démarrage automatique de ce service et le démarrer dans la foulée.
Set-Service ssh-agent -StartupType 'Automatic'
Start-Service ssh-agent
Relancez la commande d’ajout et vous serez invité à préciser la passphrase :
Lors de la prochaine utilisation, et à condition que le service SSH Agent soit actif, l’authentification sera automatique ! De quoi allier sécurité et praticité.
IV. Transfert de fichiers avec SCP sous Windows
Dans cette partie du tutoriel, nous allons apprendre à manipuler l’exécutable . Il est très pratique car il sert à réaliser des transferts de fichiers via SSH, comme qui s’appuie sur SFTP, mais ici nous réalisons le transfert via SCP.
L’objectif va être de copier un fichier du PC local vers l’hôte distant, mais aussi de faire l’inverse. Autrement dit, vous pouvez copier un fichier de Windows vers Linux en SSH, et inversement.
A. Envoyer un fichier avec scp sous Windows
Sur le principe, c’est un peu comme avec la commande , il faut préciser le nom d’utilisateur et l’hôte distant. Mais, en complément, vous devez aussi ajouter le fichier source et le dossier de destination.
Par exemple, pour envoyer le fichier vers le dossier sur le serveur distant , à l’aide du compte , cela donne cette commande :
scp "C:UsersFlorianDownloadsdemo.txt" [email protected]:/home/flo
Un port peut être précisé à l’aide de l’option :
scp -P 22222 "C:UsersFlorianDownloadsdemo.txt" [email protected]:/home/flo
Une fois le fichier transféré, nous pouvons vérifier sa présence à l’aide d’une session interactive :

L’option est également intéressante puisqu’elle va permettre d’envoyer tout un dossier et son contenu avec récursivité. Cela va permettre de prendre tous les fichiers et tous les sous-dossiers à partir de la racine.
Pour envoyer tout le contenu du dossier , voici un exemple :
scp -r "C:UsersFlorianDownloads" [email protected]:/home/flo
B. Télécharger un fichier avec scp sous Windows
À l’inverse, comme je le disais, nous pouvons également télécharger un fichier à partir de l’hôte distant sur le PC local. Dans ce cas, nous devons inverser la source et la destination par rapport à la commande précédente.
Voici un exemple pour récupérer le fichier “/home/florian/MonImage.png” et le stocker en local dans “C:TEMP“.
scp [email protected]:/home/flo/demo.txt "C:UsersFlorianDownloads"
C. Utilisation de sftp.exe sous Windows
L’alternative à SCP, c’est le SFTP, c’est-à-dire du FTP encapsulé dans un flux SSH. Le fonctionnement est un peu différent puisque nous devons nous connecter en SFTP sur l’hôte distant, puis une fois la connexion établie, nous allons pouvoir exécuter des commandes pour lister le contenu distant, envoyer un fichier, ou télécharger un fichier.
Par exemple, pour se connecter, cela donne :
sftp.exe [email protected]
# ou
sftp.exe -P 22222 [email protected]
Une fois connecté, le prompt va s’afficher. Pour envoyer un fichier, il faudra utiliser la commande FTP de cette façon :
sftp> put "C:UsersFlorianDownloadsdemo2.txt"
Ensuite, la commande va permettre de lister le contenu de l’hôte distant, ce sera utile si l’on veut s’assurer que le fichier a été envoyé :
sftp> ls /home/flo
À l’inverse, pour télécharger un fichier, nous devons utiliser la commande FTP . Voici un exemple, toujours sur le principe :
sftp> get /home/flo/demo2.txt "C:UsersFlorianDownloads"
Le SFTP fonctionne bien, mais le SCP est beaucoup plus pratique !
V. Conclusion
Sur Windows 11 et Windows Server, vous disposez d’un client SSH natif et prêt à l’emploi, que vous pouvez utiliser afin de vous connecter à des serveurs distants ou transférer des fichiers. L’intégration des consoles avec Windows Terminal permet aussi de créer des raccourcis de connexions SSH (ou voir ici également).
Les personnes habituées à utiliser SSH sous Linux ne devraient pas être perdues pour utiliser le client SSH de Windows et les différents outils associés comme scp.exe et sftp.exe, celui-ci étant basé sur OpenSSH.
Retrouvez mon ancienne vidéo de démonstration à ce sujet :
Le client SSH est-il installé par défaut sous Windows 11 ?
Oui, il est installé par défaut. Il s’agit d’une fonctionnalité facultative, mais elle est préinstallée, à moins qu’un administrateur ait procédé à la désinstallation du client OpenSSH. Dans ce cas, suivez les instructions de ce tutoriel pour procéder à son installation (via Paramètres ou PowerShell).
Comment me connecter en SSH sur un autre port que le 22 ?
Au moment de rédiger votre commande, utilisez avec ou avec / pour spécifier un port personnalisé. Par exemple : .
Où sont stockées mes clés SSH sous Windows 11 ?
Par défaut, dans , qui est un répertoire caché. Les fichiers typiques : et ou et .
Comment désinstaller le client SSH sur Windows ?
À partir d’une console PowerShell ouverte en tant qu’administrateur, vous pouvez simplement exécuter cette commande : .
Quelle est la différence entre SCP et SFTP ?
- SCP (Secure Copy) permet de copier des fichiers de façon simple d’une machine à une autre en ligne de commande.
- SFTP (SSH File Transfer Protocol) est plus interactif, comme un mini-client FTP dans une connexion SSH (sécurisée, donc). Une fois la connexion établie, des commandes FTP (, , ) exécutées dans une session.
Comment éviter de retaper la passphrase à chaque connexion ?
Vous devez utiliser l’agent SSH (ssh-agent.exe) de Windows 11. Comme l’explique ce tutoriel, il est nécessaire de démarrer le service, puis d’ajouter la clé privée à votre magasin local grâce à cette commande (adaptez le chemin) : .