Preciso transferir um arquivo entre dois computadores que não estão conectados à mesma rede. Eu tenho um terceiro computador que pode ver as duas redes através de uma VPN.
No terceiro computador, eu posso fazer:
scp root@firstcomputer:./file ./
E termine a transferência com a seguinte frase:
scp ./file root@secondcomputer:./
Mas não posso fazer isso em apenas uma linha, da seguinte maneira:
scp root@firstcomputer:./file root@secondcomputer:./
A resposta do erro é
ssh: connect to host secondcomputer port 22: No route to host
lost connection
Sei que provavelmente é porque o primeiro computador não pode ver o segundo computador. É possível atribuir um parâmetro ao SCP que lida com o fato de que a máquina que executa o programa SCP é a única que pode ver os dois computadores?
A propósito, o terceiro computador é um Mac com Lion e o punho e o segundo estão executando o Debian.
fonte
Você pode tentar isso:
Isso copiará o arquivo para o diretório / tmp no terceiro computador e, se for bem-sucedido, copiará novamente o arquivo para o computador secundário e depois se limpará. Como você está usando o operador &&, cada comando será executado apenas se o comando anterior for bem-sucedido.
fonte