สำหรับการขนส่ง 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 ไม่ใช่ชื่อผู้ใช้พร็อกซี

บทความที่เกี่ยวข้อง