Fondamentalement, ce que je demande, est-ce que quelqu'un a trouvé un moyen d'envelopper rsync dans ssh.
Avec OpenSSH v4.9 + sftp a de belles options qui vous permettent de chrooter la connexion entrante et ainsi de suite - et c'est une solution que j'examinerais, mais je suis coincé avec RHEL, et ni RHEL4 ni RHEL5 ne sont jusqu'à cette version de ssh.
Ma solution actuelle consiste à ajouter quelque chose comme ça du côté serveur en utilisant la clé de l'utilisateur client ...
serveur% cat ~ / .ssh / authorized_keys command = "cd / srv / rsync / etl && tar --exclude './lost+found' -pcf - ./" ssh-rsa ...
... et donc le client serait alors limité à une seule chose et une seule chose ...
client% ssh -T -i $ {HOME} /. ssh / id_rsa [email protected]> sensative.tar
Cela sécurise la connexion, ainsi que le serveur (du client), mais est inefficace car tous les fichiers seront récupérés encore et encore.
Je suis après avoir fait quelque chose de similaire (ou tout simplement mieux) en utilisant rsync.
D'accord, j'ai finalement compris cela, mais la solution n'est pas aussi élégante que je l'espérais.
Côté serveur, vous devez ajouter ce qui suit au fichier authorized_keys pour l'utilisateur concerné ...
Sur le client, vous pouvez ensuite créer un tunnel comme suit ...
Une fois le tunnel établi, vous pouvez rsync comme d'habitude - en utilisant la syntaxe à deux points 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 devez rsync pour ...
la source
Vous pourriez être intéressé par daemon-over-ssh-mode, qui fait l'objet de cette question:
Impossible de faire fonctionner rsync en mode démon sur SSH
la source