Me gustaría copiar una clave ssh pública de ~/.ssh/id_rsa.pub archivo en mi máquina local a ~/.ssh/authorized_keys archivo en un host remoto que está a dos saltos ssh de distancia. En otras palabras, localhost solo tiene acceso ssh a host1 , pero host1 tiene acceso ssh a host2 . Quiero copiar mi clave ssh pública de localhost a host2 .
Para copiar una clave ssh a un host remoto a un salto de distancia, la documentación de ssh da el comando:
ssh-copy-id -i ~/.ssh/mykey [email protected]
¿Hay alguna forma de copiar la clave a una máquina que está a dos saltos de distancia con un solo comando?
Respuesta aceptada:
Puede pasar cualquier ssh opción para ssh-copy-id con el -o opción. Usando el ProxyJump opción puede usar ssh-copy-id para copiar su clave a un host a través de jump host.
Aquí hay un ejemplo en el que copio mi clave ssh a leia.spack.org a través del host de salto jump.spack.org:
$ ssh-copy-id -o ProxyJump=jump.spack.org leia.spack.org
[email protected]'s password:
Number of key(s) added: 1
Y luego pruébalo con:
$ ssh -J jump.spack.org leia.spack.org
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-42-generic x86_64)