Για τη μεταφορά SSH του rsync, βάλτε τη σύνδεση μέσω του μπροστινού διακομιστή μεσολάβησης στο ψευδώνυμο κεντρικού υπολογιστή SSH. Με την υλοποίηση nc του OpenBSD, ένας διακομιστής μεσολάβησης HTTP χωρίς λογαριασμό μπορεί να επιλεγεί στο ~/.ssh/config:

Host sync-target
    HostName files.example.net
    User syncuser
    Port 22
    ProxyCommand nc -X connect -x proxy.example.net:8080 %h %p

Ο διακομιστής μεσολάβησης πρέπει να επιτρέπει CONNECT προς files.example.net:22. Για δημόσιο κεντρικό υπολογιστή SSH όπου επιτρέπονται δημόσιοι ενδιάμεσοι, η λίστα διακομιστών μεσολάβησης HTTP προσφέρει υποψηφίους για κεντρικό υπολογιστή και θύρα χωρίς λογαριασμό· επαληθεύστε την άδεια για τον πραγματικό στόχο SSH και τη θύρα. Η διεύθυνση -x του nc προσδιορίζει τον ενδιάμεσο· τα %h και %p επεκτείνονται στον προορισμό και τη θύρα SSH. Ένα άλλο πρόγραμμα με το ίδιο όνομα nc μπορεί να μην υποστηρίζει αυτούς τους διακόπτες.

Χρησιμοποιήστε το ψευδώνυμο ως απομακρυσμένο κεντρικό υπολογιστή στο rsync:

rsync -av -e ssh sync-target:/srv/export/ ./export/

Η διαδρομή με μία άνω-κάτω τελεία επιλέγει τη μορφή απομακρυσμένου κελύφους. Το SSH χρησιμοποιεί τη συνήθη διαμόρφωση λογαριασμού στόχου και κλειδιού κεντρικού υπολογιστή, ενώ το βοήθημα μεταφέρει τη ροή byte μέσω του διακομιστή μεσολάβησης HTTP. Ο προορισμός χρειάζεται επίσης rsync για την απομακρυσμένη εντολή.

Το RSYNC_PROXY αντίθετα ρυθμίζει την άμεση σύνδεση του rsync με τον δαίμονα. Δεν ρυθμίζει αυτή την κλήση SSH. Ομοίως, η αλλαγή του SSH Port σε 8080 θα επέλεγε άλλη θύρα υπηρεσίας προορισμού, αντί να προσδιορίσει τον ακροατή του διακομιστή μεσολάβησης.

Διατηρήστε τον έλεγχο ταυτότητας του διακομιστή μεσολάβησης στη διεπαφή που υποστηρίζει το επιλεγμένο βοήθημα όταν απαιτείται· ένα όνομα χρήστη SSH δεν είναι όνομα χρήστη διακομιστή μεσολάβησης.

Σχετικά άρθρα