بالنسبة لنقل 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 ليس اسم مستخدم للوسيط.

مقالات ذات صلة