בתעבורת ה-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 משתמש בתצורה הרגילה שלו לחשבון היעד ולמפתח המארח, והעוזר מעביר את זרם הבתים דרך פרוקסי ה-HTTP. היעד צריך גם rsync עבור הפקודה המרוחקת.

לעומת זאת, RSYNC_PROXY מגדיר את החיבור הישיר של rsync לדמון. הוא אינו מגדיר את קריאת ה-SSH הזו. בדומה לכך, שינוי Port של SSH ל-8080 יבחר פורט שירות יעד אחר, ולא יציין את מאזין הפרוקסי.

יש להשאיר את אימות הפרוקסי בממשק הנתמך של העוזר הנבחר כשנדרש; שם משתמש SSH אינו שם משתמש פרוקסי.

מאמרים קשורים