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.
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/
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.
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