O host de origem não tem acesso à Internet, mas o SSH pode hospedar o que possui; Como posso rsync para um terceiro host da Internet?

0

Este é o comando que eu usei para executar a partir da minha máquina SOURCE

rsync -Rrlt --progress --delay-updates ./my_folder root@machine-on-same-network:/home/me/.

Agora preciso copiar essa mesma pasta para uma máquina TARGET que esteja na Internet.

Minha máquina SOURCE não tem acesso à Internet, no entanto, essa máquina SOURCE pode se conectar via SSH a uma máquina que tenha acesso à Internet.

Existe uma maneira de conseguir isso?

    
por zabumba 04.08.2014 / 19:25

1 resposta

2

Sim, é possível fazer isso. O site do rsync lista explicitamente cinco métodos diferentes para fazer isso. Eles estão no topo da página:

If you have a setup where there is no way to directly connect two systems for an rsync transfer, there are several ways to get a firewall system to act as an intermediary in the transfer.

Acho o método dois especialmente simples: altere seu arquivo ~ / .ssh / config em sua máquina de origem para incluir essas linhas:

 Host target
   ProxyCommand nohup ssh middle nc -w1 %h %p
   User target_user

Aqui target é o pc de destino, onde você é target_user , e middle é o pc atuando como um g-between. nc é obviamente netcat , nohup suprime um aviso irritante, -w1 encerra a instância em execução do netcat, * % p% usa a porta padrão.

Com isso, o comando para executar o backup se torna:

 rsync -Rrlt /src/ target:/dest/

Se você quiser mais discussão sobre esses métodos por qualquer motivo, um bom lugar é esta página do blog .

    
por 05.08.2014 / 08:33

Tags