rsync um arquivo do servidor C para A através do servidor B [duplicado]

0

Eu tenho computadores A, B e C. Cada um deles tem o ssh habilitado e eu posso usar rsync .

  • A pode ssh para B
  • B pode ssh para C
  • A não pode ssh para C

B tem acesso ssh público, então A pode conectar B e C pode se comunicar porque eles estão em uma vpn e A não faz parte dela.

Eu gostaria de copiar alguns arquivos (e criar um cronjob para isso) de C para A.

O que é uma boa maneira de fazer isso?

ATUALIZAÇÃO:

Eu era capaz de ssh para C via B, como foi explicado nas respostas relacionadas que você me sugere, mas eu não consegui rsync através do servidor B.

Considere que B está escutando ssh não na porta 22.

    
por res1 20.02.2018 / 18:18

2 respostas

1

Isso funciona para mim:

 rsync -avzhP -e "ssh -p portB -A user1@B ssh" user2@C:somedir/ localdir/

Como referência, li esta resposta para uma pergunta semelhante:

link

    
por 20.02.2018 / 22:03
2

Se o host A puder ssh no host B e o host B puder ssh no host C, você poderá configurar sua configuração de ssh client no host A para proxy de B a C. Você também pode informar rsync para usar ssh como seu protocolo de transferência ( -e ssh ). Combine essas duas coisas e você pode ssh ou rsync do host A para C por meio de B, mesmo em um trabalho cron .

    
por 20.02.2018 / 18:37