PowerShell SSH : apprenez à connecter PowerShell à distance avec SSH
PowerShell SSH vous permet d’accéder à des systèmes à distance et de les gérer depuis pratiquement n’importe où. SSH offre également des fonctions de journalisation détaillées qui permettent une surveillance et un suivi complets des activités sur votre serveur. Notre guide étape par étape vous dit tout sur Powershell SSH !
Les conditions requises pour PowerShell SSH
L’intégration de SSH dans Windows PowerShell vous donne la possibilité d’établir des connexions SSH avec des systèmes à distance et d’exécuter des commandes SSH dans un script PowerShell. Cela facilite la gestion et l’automatisation des tâches dans les infrastructures informatiques distribuées, en particulier dans un environnement hétérogène comprenant à la fois des systèmes Windows et non-Windows.
Pour utiliser PowerShell SSH, vous devez remplir les conditions suivantes :
- Installation de PowerShell : assurez-vous que PowerShell v6+ est installé sur votre ordinateur local. PowerShell est généralement préinstallé sur Windows, mais il faut que la version installée prenne en charge SSH.
- Client SSH : vous avez besoin d’un client SSH dans votre environnement PowerShell pour établir des connexions SSH. Sur Windows 10/11 et Windows Server 2019, OpenSSH est disponible par défaut. Si vous utilisez une version antérieure de Windows, vous devrez peut-être installer OpenSSH manuellement.
- Serveur SSH : le serveur SSH est le serveur cible auquel il faut vous connecter. Il peut s’agir d’un serveur Linux, d’’un périphérique réseau ou d’un autre hôte compatible SSH.
- Accès au réseau : votre ordinateur local doit avoir accès au réseau et pouvoir atteindre le serveur SSH distant. Le port 22 doit être ouvert pour SSH dans les règles du pare-feu.
- Modules PowerShell : il existe des modules PowerShell spécialement conçus pour l’utilisation de SSH, comme le module « PSSession » ou « Posh-SSH ». Vous devez vérifier que le module correspondant est installé sur votre système afin de pouvoir utiliser SSH dans PowerShell.
- Permissions : vous devez disposer de droits d’administrateur ou de privilèges étendus ainsi que d’un mot de passe ou d’une clé SSH pour pouvoir établir des connexions SSH depuis votre ordinateur local et accéder au serveur distant.
Profitez de votre propre serveur, avec hardware dédié, intégration Cloud, facturation à la minute et processeur Intel® Xeon® ou AMD.
Comment utiliser PowerShell SSH ?
Avant de pouvoir utiliser Secure Shell (SSH) dans PowerShell, vous devez configurer le serveur OpenSSH. Vous pouvez ensuite démarrer la session PowerShell SSH et exécuter des commandes sur le système à distance.
Étape 1 : installer OpenSSH
Cliquez sur le menu « Démarrer » ou tapez « PowerShell » dans la barre de recherche. Sélectionnez Run as administrator pour ouvrir Windows PowerShell. La commande PowerShell suivante vous permet d’installer la fonctionnalité OpenSSH sur votre ordinateur Windows :
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
powershellÉtape 2 : démarrer le service OpenSSH
Une fois l’installation terminée, vous pouvez démarrer le service OpenSSH :
Start-Service sshd
powershellVous pouvez contrôler si le service OpenSSH fonctionne avec la commande suivante :
Get-Service sshd
powershellLe statut Running indique que sshd est correctement exécuté.
Étape 3 : démarrer automatiquement le service serveur SSH
Pour activer le service serveur OpenSSH à chaque redémarrage de Windows, vous pouvez entrer la commande suivante :
Set-Service -Name sshd -StartupType 'Automatic'
powershellÉtape 4 : personnaliser le pare-feu
Si le pare-feu Windows est actif, vous devez ajouter une règle pour autoriser le trafic SSH sur le port 22 (le port SSH par défaut).
New-NetFirewallRule -Name 'OpenSSH-Server' -DisplayName 'OpenSSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
powershellÉtape 5 : établir la connexion SSH
Vous pouvez désormais vous connecter à votre serveur SSH depuis un autre appareil. Pour cela, ouvrez PowerShell sur votre PC client et entrez la commande SSH avec le nom d’utilisateur et l’adresse du serveur.
ssh username@servername
powershellRemplacez « username » par votre nom d’utilisateur SSH et « servername » par l’adresse IP ou le nom d’hôte du serveur distant. Lorsque vous lancez la commande, il vous sera demandé d’entrer votre mot de passe SSH, à moins que vous n’utilisiez des clés SSH pour l’authentification.
Étape 6 : travailler dans la session SSH
Une fois que vous avez établi une connexion SSH, vous pouvez exécuter des commandes sur le serveur distant comme si vous étiez physiquement connecté au serveur. Pour mettre fin à la session SSH et revenir au PowerShell local, vous pouvez utiliser la commande exit
.
Il existe un certain nombre de commandes SSH dans PowerShell. La commande pwd
(print working directory) indique par exemple le répertoire de travail actuel :
Voici une liste de commandes que vous pouvez utiliser dans PowerShell SSH :
-
ls/dir
: afficher le contenu d’un répertoire -
cd
: changer de répertoire sur le serveur à distance -
touch/New-Item
: créer un nouveau fichier -
rm/Remove-Item
: supprimer des fichiers ou des répertoires -
mv/Move-Item
: déplacer ou renommer des fichiers et des répertoires -
useradd
: ajouter un utilisateur -
scp
: transférer des fichiers entre le client et le serveur
Vous trouverez d’autres commandes dans notre aperçu des commandes PowerShell.