SSH et SFTP sur Windows 10
J’ai découvert il y a peu que microsoft à intégré un client SSH nativement dans windows 10. C’est une très bonne chose selon moi et puisque cet outil existe, autant l’utiliser. Pour ce faire il faut tout d’abord installer une fonctionnalité.
Installation du client OpenSSH
Il est possible d’installer le client OpenSSH de deux façon différentes. La première, graphiquement et la seconde en ligne de commande powershell.
Avec l’interface graphique
- Se rendre dans les Paramètres Windows 10.
- Dans la section Applications et fonctionnalités.
- Cliquer sur Gérer les fonctionnalités facultatives.
- Puis Ajouter une fonctionnalité.
- Dans la liste on retrouve Client OpenSSH, cliquer sur Installer.
En powershell
- Lancer Powershell en tant qu’administrateur.
- Exécuter la ligne suivante :
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Le résultat attendu est le suivant :
Utilisation du client SSH
Une fois l’installation terminée, il est possible d’utiliser le client SSH avec windows 10 de la même façon qu’avec linux. On lance une invite de commande (CMD) et on exécute ssh :
On obtient l’aide, l’installation à donc bien fonctionné, profitons-en pour regarder les paramètres possibles.
Je peux maintenant me connecter à une machine distante en ssh directement dans mon invite avec la commande habituelle sous linux :
ssh user@host
Pour utiliser un port différent on peut utiliser l’option -p :
ssh user@host -p port
Utilisation de SFTP
On peut également utiliser SFTP nativement dans windows 10 pour envoyer et recevoir des fichiers. Plus besoin d’installer winscp, filezilla ou autre pour l’envoie et la réception d’un simple fichier.
Voici les options disponibles :
Avant tout, il faut se connecter au serveur sur lequel on souhaite envoyer ou recevoir des fichiers. Pour ce faire, on utilise la commande suivante :
sftp user@host
Nous voilà maintenant connecté. On peut afficher les commandes disponibles avec help.
Envoie de fichier
Pour envoyer un fichier, il faut utiliser la commande suivante :
sftp> put nom_du_fichier
Pour vérifier le nom du fichier que l’on souhaite envoyer, la commande suivante permet de lister le répertoire courant sur la machine cliente :
lls
Ici j’envoie le fichier nommé test.txt :
Il est possible de vérifier que le fichier distant existe bien à présent :
ls
Réception de fichier
Pour recevoir un fichier, la procédure est la même, avec la commande suivante :
get nom_du_fichier
Conclusion
L’intégration de OpenSSH nativement dans Windows 10 est une très bonne chose. Cela permet d’éviter d’installer des logiciels (qu’il faudra par la suite maintenir à jour) pour des fonctionnalités pourtant basiques. Cela ouvre également des possibilités, notamment en terme de scripting. En effet, il est maintenant plus aisé de créer des scripts de manipulation de fichier par exemple à partir d’une machine windows.
Tags :