Lăsați rsync să refolosească un alias de gazdă SSH prin proxy-ul HTTP
Atașați un ajutor HTTP CONNECT la configurația SSH folosită de transportul de shell la distanță al rsync.
Pentru transportul SSH al rsync, puneți conexiunea prin proxy-ul de ieșire pe aliasul de gazdă SSH. Cu implementarea nc din OpenBSD, se poate alege un proxy HTTP fără cont în ~/.ssh/config:
Host sync-target
HostName files.example.net
User syncuser
Port 22
ProxyCommand nc -X connect -x proxy.example.net:8080 %h %pProxy-ul trebuie să permită CONNECT către files.example.net:22. Pentru o gazdă SSH publică unde intermediarii publici sunt permise, lista de proxy-uri HTTP oferă candidați pentru gazda și portul proxy-ului fără cont; verificați permisiunea pentru ținta și portul SSH reale. Adresa -x a nc indică intermediarul; %h și %p se extind în destinația și portul SSH. Un alt program numit nc poate să nu accepte aceste comutatoare.
Folosiți aliasul ca gazdă la distanță în rsync:
rsync -av -e ssh sync-target:/srv/export/ ./export/Calea cu un singur două puncte selectează forma de shell la distanță. SSH folosește configurația obișnuită de cont țintă și cheie de gazdă, în timp ce ajutorul transportă fluxul de octeți prin proxy-ul HTTP. Destinația are nevoie și de rsync pentru comanda la distanță.
În schimb, RSYNC_PROXY configurează conexiunea directă a rsync la daemon. Nu configurează această invocare SSH. La fel, schimbarea Portului SSH în 8080 ar selecta un alt port de serviciu al destinației, în loc să indice ascultătorul proxy-ului.
Păstrați autentificarea proxy-ului pe interfața acceptată de ajutorul ales atunci când este necesar; un nume de utilizator SSH nu este un nume de utilizator de proxy.