Em primeiro lugar, não há uma maneira direta ou padrão de fazer o que você quer. Além disso, deixe-me esclarecer: não há como fazer o que você quer com um cliente ssh padrão .
Existe um fork muito antigo ssh-xfer . Note que mesmo os desenvolvedores desta ferramenta enfatizam que sua solução é "hackish" e muito antiga, então você não deve usá-la. A última versão do SSH que foi corrigida por ser utilizável com esta ferramenta é OpenSSH-3.8.1p1
(no Arch Linux, a versão atual é OpenSSH_7.6p1
).
Se for importante manter as coisas rápidas minimizando o número de conexões / apertos de mão entre os hosts, você poderá procurar algum tipo de ferramentas de provisionamento / orquestração. O Ansible parece ser a maneira mais fácil de realizar a tarefa sem muita configuração adicional enquanto Sal pode ser o mais rápido.
De qualquer forma, tanto o Ansible quanto o Salt utilizam conexões adicionais para fazer as coisas funcionarem e eu não tenho certeza se você ganhará alguma coisa em termos de desempenho usando-as em vez da combinação ssh / scp.
ATUALIZAÇÃO: Se você tiver que empurrar e puxar muitos arquivos com alguns scripts adicionais sendo executados entre essas transferências, praticamente qualquer ferramenta de provisionamento (Chef, Puppet, Salt, Ansible) fará a coisa mais rápido que o ssh / scp.