Дозвольте rsync повторно використовувати псевдонім вузла SSH через HTTP-проксі
Приєднайте помічник HTTP CONNECT до конфігурації SSH, яку використовує транспорт віддаленої оболонки rsync.
Для SSH-транспорту rsync з'єднання через прямий проксі задається на псевдонімі вузла SSH. З реалізацією nc від OpenBSD у ~/.ssh/config можна вибрати HTTP-проксі без облікового запису:
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 не є ім'ям користувача проксі.