Como executar um rsync seguro entre servidores através de uma rede insegura

18

Basicamente, o que eu estou perguntando é: alguém já se deparou com um meio de quebrar o rsync dentro do ssh.

Com o OpenSSH v4.9 + sftp tem algumas boas opções que permitem chroot a conexão de entrada e tal - e essa é uma solução que eu iria olhar, no entanto estou preso com RHEL, e nem RHEL4 ou RHEL5 são upto essa 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/authorized_keys
command="cd /srv/rsync/etl && tar --exclude './lost+found' -pcf - ./" ssh-rsa...

... e então o cliente estaria restrito a uma coisa e apenas uma coisa ...

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

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

Depois de fazer algo semelhante (ou melhor) usando o rsync.

    
por Xerxes 26.05.2009 / 01:43

3 respostas

5

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

Um no lado do servidor, você precisa adicionar o seguinte ao arquivo authorized_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

Uma vez que o túnel é establised, você pode rsync como de costume - usando a sintaxe de dois pontos duplos não é possível - para localhost.

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

rsync --port=8073 -a user@localhost::mySecureStore /srv/some/place/
    
por 29.05.2009 / 03:25
18

O Rsync suporta o uso do ssh como transporte

rsync -az /path/to/source username@host:/path/to/destination

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

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

Uma alternativa ao uso do rsync é B. Unison do C. Pierce, que tem funcionalidade similar ao rsync, mas mantém um índice local em ambas as extremidades para evitar ter que andar pelo sistema de arquivos para calcular os deltas

    
por 26.05.2009 / 02:02
1

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

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

    
por 11.08.2009 / 15:59