Je souhaite copier une clé ssh publique depuis le ~/.ssh/id_rsa.pub fichier sur ma machine locale au ~/.ssh/authorized_keys fichier sur un hôte distant distant de deux sauts ssh. En d'autres termes, localhost n'a qu'un accès ssh à host1 , mais host1 a un accès ssh à host2 . Je veux copier ma clé ssh publique depuis localhost à host2 .
Pour copier une clé ssh sur un hôte distant en un saut de distance, la documentation ssh donne la commande :
ssh-copy-id -i ~/.ssh/mykey [email protected]
Existe-t-il un moyen de copier la clé sur une machine distante de deux sauts en une seule commande ?
Réponse acceptée :
Vous pouvez passer n'importe quel ssh option pour ssh-copy-id avec le -o option. En utilisant le ProxyJump option, vous pouvez utiliser ssh-copy-id pour copier votre clé sur un hôte via jump host.
Voici un exemple où je copie ma clé ssh sur leia.spack.org via l'hôte de saut jump.spack.org :
$ ssh-copy-id -o ProxyJump=jump.spack.org leia.spack.org
[email protected]'s password:
Number of key(s) added: 1
Puis testez-le avec :
$ ssh -J jump.spack.org leia.spack.org
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-42-generic x86_64)