A transferência de arquivos usando uma conexão direta entre o servidor A e o servidor B é o método preferido. Isto é o que o scp
está tentando fazer. A parte relevante de man 1 scp
:
-3
Copies between two remote hosts are transferred through the local host. Without this option the data is copied directly between the two remote hosts. Note that this option disables the progress meter.
Você está certo de que sem a opção -3
"o servidor-A tenta se conectar ao servidor-B". Meus testes indicam que, mesmo que o servidor-B permita a autenticação baseada em senha, a interação com o tty (embora a senha seja solicitada) provavelmente será o problema. Nesse caso, este comentário parece útil:
ssh
into server A, start thescp
on server A (one command). Avoids copying the files twice.
Depois que você explicitamente ssh
no servidor-A, scp
invocou, não deve haver problema em interagir com o tty enquanto solicita a senha do servidor-B. Alternativamente, você pode ssh
no servidor-B e invocar scp
lá.
Se for impossível (chave necessária, senha não permitida), use scp -3
em sua estação de trabalho. Obviamente, isso usará sua máquina local como um tipo de proxy, para que os dados fluam para baixo e para cima em suas conexões de rede.
Nem todas as implementações scp
suportam -3
embora.