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:
sshinto server A, start thescpon 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.