Sim, existe um método melhor. Use o recurso de sessão principal do SSH (versões mais recentes). Cria uma sessão de controle, para que você não precise autenticar por algum período de tempo.
Está descrito aqui:
Provavelmente tudo que você precisa é editar / criar seu arquivo .ssh / config. Adicione definições que controlam as sessões principais:
ControlMaster auto
ControlPath ~/.ssh/cm_socket/%r@%h:%p
ControlPersist 4h
ServerAliveInterval 30
Em seguida, você pode especificar sua definição de servidor do primeiro salto, como:
Host first_hop
Hostname <your first host FQDN or IP>
User <your user>
E o segundo salto usará seu primeiro servidor como proxy:
Host second_hop
Hostname <your second host FQDN or IP>
User <your user>
ProxyCommand ssh -W %h:%p first_hop
Não se esqueça de criar o diretório ~ / .ssh / cm_socket e as permissões de configuração devem ser 644.
Em seguida, você deve poder enviar SSH ou SCP diretamente para / de seu segundo servidor. Pode haver mais servidores encadeados assim.