Pri SSH transporte rsync umiestnite pripojenie cez doprednú proxy na alias SSH hostiteľa. S implementáciou nc z OpenBSD možno v ~/.ssh/config zvoliť HTTP proxy bez účtu:

Host sync-target
    HostName files.example.net
    User syncuser
    Port 22
    ProxyCommand nc -X connect -x proxy.example.net:8080 %h %p

Proxy musí povoliť CONNECT na files.example.net:22. Pri verejnom SSH hostiteľovi, kde sú verejní sprostredkovatelia povolení, ponúka zoznam HTTP proxy kandidátov na hostiteľa a port proxy bez účtu; overte povolenie pre skutočný cieľ SSH a port. Adresa -x v nc označuje sprostredkovateľa; %h a %p sa rozvinú na cieľ SSH a port. Iný program tiež nazvaný nc nemusí tieto prepínače podporovať.

Použite alias ako vzdialeného hostiteľa v rsync:

rsync -av -e ssh sync-target:/srv/export/ ./export/

Cesta s jedinou dvojbodkou volí formu vzdialenej schránky. SSH používa obvyklú konfiguráciu cieľového účtu a kľúča hostiteľa, zatiaľ čo pomocník prenáša svoj bajtový tok cez HTTP proxy. Cieľ tiež potrebuje rsync pre vzdialený príkaz.

RSYNC_PROXY naopak konfiguruje priame pripojenie rsync k démonovi. Toto SSH volanie nenastavuje. Rovnako zmena SSH Port na 8080 by zvolila iný port cieľovej služby, namiesto označenia počúvajúceho proxy.

Ak je to potrebné, ponechajte overovanie proxy na rozhraní podporovanom zvoleným pomocníkom; používateľské meno SSH nie je používateľské meno proxy.

Súvisiace články