La maîtrise de la génération de clés SSH et la configuration de PowerShell pour des connexions sécurisées fait désormais partie intégrante des compétences indispensables pour tout professionnel IT en 2026. Grâce aux outils natifs de Windows 10 et Windows 11, il est possible de créer et gérer des clés SSH sans nécessiter de logiciels externes. Ce guide détaille les étapes pratiques pour générer, stocker et déployer ces clés, ainsi que pour configurer l’accès distant avec PowerShell via SSH, apportant une couche de sécurité accrue pour l’administration à distance.
L’article en bref
Configurer PowerShell avec SSH simplifie la gestion sécurisée des serveurs et optimise l’accès distant en alliant cryptographie et authentification robuste.
- Génération simplifiée des clés SSH : Utiliser ssh-keygen dans PowerShell pour créer des clés RSA ou ed25519 rapidement.
- Gestion efficace des clés SSH : Stockage organisé dans %USERPROFILE%.ssh et déploiement vers serveurs Linux distants.
- Authentification renforcée : Mise en place de l’agent OpenSSH ou Pageant pour éviter la saisie répétée des mots de passe.
- Configuration multi-plateformes : Installation et paramétrage du serveur SSH sous Windows, Linux et macOS.
Un accès distant sécurisé n’est plus une option mais une incontournable responsabilité numérique.
Générer des clés SSH sous Windows 10 et 11 via PowerShell
Dans les faits, la création de clés SSH s’est simplifiée avec l’intégration depuis Windows 10 version 1809 du client OpenSSH. Après activation dans les fonctionnalités optionnelles, il suffit d’ouvrir PowerShell en mode administrateur et d’exécuter la commande ssh-keygen. Par défaut, une paire de clés RSA ou ed25519 est générée, stockée dans le dossier %USERPROFILE%.ssh pour faciliter leur identification et gestion.
La grande différence se joue ici sur le type de clé choisi : la cryptographie ED25519 offre un excellent équilibre entre sécurité avancée et performance, tandis que RSA assure une compatibilité étendue avec les anciens systèmes.
Personnellement, de nombreux développeurs préfèrent désormais ed25519, notamment pour ses bénéfices en termes de compacité et robustesse. Pour générer une clé ed25519 avec un commentaire d’identité, la commande est :
ssh-keygen -t ed25519 -C "votre.email@domaine.com"
Il est également possible de définir un nom de fichier ou une phrase de passe pour rehausser la sécurité des clés privées, notamment lorsque plusieurs clés sont utilisées pour différents services.
Options recommandées pour une génération optimale des clés SSH
Pour adapter la génération à des besoins spécifiques, plusieurs options sont utiles :
- -t : Choix du type de clé (rsa, ed25519, ecdsa, ed25519-sk).
- -C : Ajout d’un commentaire pour identifier la clé.
- -f : Spécifier le chemin de stockage du fichier de clé.
- -N : Indiquer une phrase de passe, vide ou chiffrée.
Ces paramètres garantissent un contrôle complet, notamment sur la sécurité du poste, en évitant de laisser des clés sans protection dans des environnements partagés.
Déployer la clé publique sur un serveur Linux
Le transfert de la clé publique sur le serveur distant est l’étape incontournable pour établir une connexion sécurisée. Sous Windows, le fichier public porte souvent le nom id_ed25519.pub ou id_rsa.pub selon le type de clé. Il se trouve généralement dans le répertoire %USERPROFILE%.ssh.
Plusieurs méthodes existent pour copier cette clé :
- scp : rapide et scriptable, par exemple
scp id_ed25519.pub user@serveur:~/.ssh/ - Éditeur distant via SSH : utiliser des commandes comme
cat >> ~/.ssh/authorized_keyspour coller manuellement la clé. - Extension Visual Studio Code Remote-SSH : pour une interface graphique facilitant l’intégration de la clé.
Le vrai enjeu ici est de garantir que authorized_keys sur le serveur contient la clé publique sans erreurs et que les permissions soient correctement définies (chmod 700 pour ~/.ssh et chmod 600 pour authorized_keys).
Configurer PowerShell pour une communication sécurisée à distance avec SSH
Depuis PowerShell 6, le protocole SSH est pleinement supporté pour les sessions à distance, remplaçant progressivement WinRM dans certains cas. La configuration requiert :
- L’installation et activation du serveur SSH (sshd) sur chaque machine.
- Le réglage du fichier sshd_config pour définir un sous-système PowerShell (
Subsystem powershell C:/progra~1/powershell/7/pwsh.exe -sshssous Windows). - L’activation des modes d’authentification souhaités (mot de passe ou clés publiques).
- La gestion des erreurs typiques liées aux chemins d’accès, notamment avec les espaces, à contourner via des liens symboliques.
Ce protocole assure ainsi un modèle multiplateforme robuste de gestion distante, facilitant les opérations d’administration et automation dans un cadre sécurisé.
Exemple de session distante PowerShell via SSH
Pour créer une session distante, la syntaxe PowerShell inclut les paramètres suivants :
New-PSSession -HostName-UserName -KeyFilePath
Ensuite, il est possible d’entrer la session avec Enter-PSSession et d’exécuter des commandes comme :
Get-Process pwsh
Cette méthode fonctionne aussi bien sur Windows vers Windows qu’entre Linux et Windows, garantissant une flexibilité sans compromis sur la sécurité du réseau ou l’authentification.
Tableau comparatif des types de clés SSH et leurs usages
| Type de clé | Commande exemple | Usage recommandé | Niveau de sécurité |
|---|---|---|---|
| RSA 4096 | ssh-keygen -t rsa -b 4096 | Compatibilité large | Élevé |
| ED25519 | ssh-keygen -t ed25519 -C « email » | Équilibre performance/sécurité | Très élevé |
| ECDSA | ssh-keygen -t ecdsa | Compatibilité limitée | Moyen |
| ED25519-SK | ssh-keygen -t ed25519-sk | Authentification par clé matérielle | Très élevé |
Ce qu’il faut retenir pour la sécurisation des accès distants
Assurer une connexion sécurisée repose sur plusieurs piliers : choisir un type de clé adapté, stocker les clés dans un emplacement fiable, copier correctement la clé publique et configurer les serveurs SSH en conséquence. Au-delà de la création et du déploiement, il est essentiel d’utiliser un agent comme OpenSSH ou Pageant pour faciliter les authentifications sans nécessiter de saisie répétitive du mot de passe, gage d’efficacité et de sécurité renforcée.
Le vrai enjeu de cette démarche est moins technique que culturel : la vigilance permanente sur les clés SSH et la configuration des accès distants réduit considérablement les risques liés au piratage, tout en simplifiant le quotidien des administrateurs. Ces bonnes pratiques s’intègrent parfaitement dans une stratégie de cybersécurité plus large, notamment en complément avec des protocoles de sécurité réseau comme SSH à distance ou des solutions VPN.
FAQ – Comprendre l’usage de PowerShell et SSH pour clés et sécurité
Comment générer une clé SSH avec PowerShell ?
Ouvrez PowerShell en mode administrateur, puis utilisez la commande ssh-keygen avec les options souhaitées, par exemple ssh-keygen -t ed25519 -C ‘votre.email@domaine.com’ pour générer une clé ED25519 avec un commentaire.
Où sont stockées les clés SSH générées sur Windows ?
Par défaut, les clés SSH sont enregistrées dans le dossier %USERPROFILE%.ssh, facilement accessible pour gestion et transfert.
Comment transférer la clé publique sur un serveur Linux ?
La méthode la plus courante est d’utiliser scp pour envoyer le fichier de clé publique dans ~/.ssh/authorized_keys sur le serveur, ou bien de copier/coller manuellement via SSH.
Pourquoi utiliser l’authentification par clé plutôt que le mot de passe ?
Cette méthode renforce la sécurité en évitant la vulnérabilité liée aux mots de passe faibles ou réutilisés, et permet une authentification automatisée fiable.
Est-il possible d’utiliser PowerShell SSH entre Windows et Linux ?
Oui, PowerShell SSH fonctionne parfaitement en environnement multiplateforme, garantissant une administration distante fluide et sécurisée entre ces systèmes.



