it-swarm-pt.tech

Como executar um rsync seguro entre servidores em uma rede não segura

Basicamente, o que estou perguntando é: alguém encontrou um meio pelo qual envolver o rsync dentro do ssh.

Com o OpenSSH v4.9 +, o sftp tem algumas opções agradáveis ​​que permitem chroot na conexão de entrada e tal - e essa é uma solução que eu procuraria, no entanto, estou preso ao RHEL e nem o RHEL4 nem o RHEL5 são dessa versão do ssh.

Minha solução atual é adicionar algo assim ao lado do servidor usando a chave do usuário do cliente ...

 server% cat ~/.ssh/allowed_keys 
 command = "cd/srv/rsync/etl && tar --exclude './lost+found' -pcf - ./" ssh-rsa ... 

... e assim o cliente ficaria restrito a uma coisa e apenas uma coisa ...

 cliente% ssh -T -i $ {HOME} /. ssh/id_rsa [email protected]> sensative.tar 

Isso protege a conexão, assim como o servidor (do cliente), no entanto, é ineficiente, pois todos os arquivos serão recuperados repetidamente.

Estou depois de fazer algo semelhante (ou apenas melhor) usando o rsync.

19
Xerxes

Ok, finalmente descobri isso, mas a solução não é tão elegante quanto eu esperava.

No lado do servidor, é necessário adicionar o seguinte ao arquivo allowed_keys para o usuário relevante ...

no-pty, command="exit"

No cliente, você pode criar um túnel da seguinte maneira ...

ssh -l username -fNTL 8073:server:873

Depois que o túnel é estabelecido, você pode sincronizar como de costume - usando a sintaxe de dois pontos - não é possível - para o host local.

O número da porta localhost que você seleciona (8073) é totalmente opcional, obviamente, lembre-se de que é isso que você precisa para rsync to ...

rsync --port=8073 -a [email protected]::mySecureStore /srv/some/place/
5
Xerxes

Rsync suporta o uso de ssh como transporte

rsync -az /path/to/source [email protected]:/path/to/destination

algumas versões mais antigas do rsync exigem que você especifique ssh explicitamente

rsync -aze ssh /path/to/source Host:/path/to/destination

Uma alternativa ao uso do rsync é nison de C. Pierce , que possui funcionalidade semelhante ao rsync, mas mantém um índice local nas duas extremidades para evitar a necessidade de percorrer o sistema de arquivos para calcular os deltas

18
Dave Cheney

Você pode estar interessado no daemon-over-ssh-mode, que é o assunto desta pergunta:

Não é possível fazer o rsync funcionar no modo daemon-over-ssh

2
rjmunro