Vorrei copiare una chiave ssh pubblica da ~/.ssh/id_rsa.pub
sul mio computer locale in ~/.ssh/authorized_keys
file su un host remoto a due ssh hop di distanza. In altre parole, localhost
ha solo accesso ssh a host1
, ma host1
ha accesso ssh a host2
. Voglio copiare la mia chiave ssh pubblica da localhost
a host2
.
Per copiare una chiave ssh su un host remoto a un salto di distanza, la documentazione ssh fornisce il comando:
ssh-copy-id -i ~/.ssh/mykey [email protected]
C'è un modo per copiare la chiave su una macchina a due passi di distanza in un unico comando?
Risposta accettata:
Puoi passare qualsiasi ssh
opzione per ssh-copy-id
con il -o
opzione. Usando il ProxyJump
opzione puoi usare ssh-copy-id
per copiare la tua chiave su un host tramite jump host.
Ecco un esempio in cui copio la mia chiave ssh su leia.spack.org tramite l'host di 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
E poi provalo con:
$ ssh -J jump.spack.org leia.spack.org
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-42-generic x86_64)