Windows, ssh-copy-id & Powershell
Quand on vient du monde Linux et qu'on administre ses serveurs, on met rapidement en place l'authentification via clé ssh.
L'une des commande les plus simple pour envoyer sa clé publique vers un serveur est la commande inclus dans OpenSSH :
ssh-copy-id
Exemple d'utilisation plus complète :
ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote-host
Malheureusement sous Windows, cette commande n'est pas implémentée.
Il existe cependant une alternative grâce à Powershell et la bonne utilisation des pipes :
PS C:\Users\loic> Get-Content $env:USERPROFILE\.ssh\id_rsa.pub | ssh user@remote-host "cat >> .ssh/authorized_keys"
Explications :
Get-Content | ssh
: connecte la sortie de la commandeGet-Content
à l'entrée de la commandessh
Get-Content $env:USERPROFILE\.ssh\id_rsa.pub
: lit le contenu du fichierid_rsa.pub
(clé publique)ssh user@remote-host "cat >> .ssh/authorized_keys"
: injecte le contenu à la fin du fichierauthorized_keys
de l'hôte distant