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 %p

Proxy-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.

Articole similare