web-dev-qa-db-fra.com

Comment effectuer un RSYNC sécurisé entre les serveurs sur un réseau non sécurisé

Fondamentalement, ce que je demande, c'est que quelqu'un rencontre un moyen par lequel envelopper Rsync à l'intérieur de SSH.

Avec OpenSSH V4.9 + SFTP dispose de bonnes options qui vous permettent de chroot la connexion entrante et de telles raisons - et c'est une solution que je regarderais, mais je suis coincé avec Rhel, ni Rhel4 ni Rhel4 ne sont jusqu'à présent. ssh.

Ma solution actuelle consiste à ajouter quelque chose comme celui-ci au côté serveur à l'aide de la clé de l'utilisateur du client ...

[. ____ ... 

... et le client serait donc restreint à une chose et une seule chose que ...

 Client% ssh -t -i $ {home} /. ssh/id_rsa [email protected]> sensible.tar [.____]

Cela sécurise la connexion, ainsi que le serveur (à partir du client), mais est inefficace car tous les fichiers seront retrouvés encore et encore.

Je suis après avoir fait quelque chose de similaire (ou juste mieux) en utilisant rsync.

19
Xerxes

Ok, j'ai finalement compris cela, mais la solution n'est pas aussi élégante que celle que j'avais espérée.

Un côté serveur, vous devez ajouter ce qui suit au fichier autorisé_keys pour l'utilisateur concerné ...

no-pty, command="exit"

Sur le client, vous pouvez alors créer un tunnel comme suit ...

ssh -l username -fNTL 8073:server:873

Une fois que le tunnel est établi, vous pouvez rsync selon l'habitude - l'utilisation de la syntaxe du double côlon n'est pas possible - à localhost.

Le numéro de port localHost que vous sélectionnez (8073) est entièrement facultatif évidemment, rappelez-vous simplement que c'est ce que vous avez à rsync to ...

rsync --port=8073 -a user@localhost::mySecureStore /srv/some/place/
5
Xerxes

RSYNC soutient en utilisant SSH comme moyen de transport

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

certaines versions plus anciennes de RSYNC vous exigent de spécifier SSH explicitement

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

Une alternative à l'utilisation de RSYNC est b. C. l'unisson de C. Pierce , qui présente une fonctionnalité similaire à RSYNC, mais conserve un index local aux deux extrémités pour éviter de devoir marcher le système de fichiers pour calculer les Deltas.

18
Dave Cheney

Vous pourriez être intéressé par le mode Daemon-Over-SSH, qui fait l'objet de cette question:

ne peut pas obtenir RSYNC de travailler en mode Daemon-Over-SSH

2
rjmunro