A configuração para scp
e ssh
através de hosts intermediários é (essencialmente) a mesma. Muitas outras respostas para scp
, ssh
ou mesmo rsync
no mesmo contexto deve funcionar para você. Fundamentalmente, você deve usar a mesma chave para obter acesso da Máquina "A" à "B", conforme você usa para ir da Máquina "B" para a "C". No entanto, parece que você pode estar usando chaves senhas localizadas em "B" para obter acesso a "C". Deixando de lado as implicações (ruins) de segurança dessas senhas sem senha, eu sugiro que você coloque a mesma chave pública da sua chave privada (esperançosamente passphrase protected) localizada em "A" no arquivo ~/.ssh/authorized_keys
em "C". Dessa forma, tudo que você precisa fazer é algo assim:
scp -o "ProxyCommand ssh -A B -W %h:%p" C:file .
Isso configurará o proxy / hop via host "B", buscando o nome do arquivo 'file' em seu diretório home em "C" e depsitando-o no diretório de trabalho atual em "A".
Além disso, você pode codificá-lo em seu arquivo ~/.ssh/config
:
Host C
ProxyCommand ssh -A B -W %h:%p
Então, você pode simplesmente:
scp C:file .
Além disso, nada disso requer um alias ou script para fazer isso por você. Você apenas usa scp
diretamente.