U SSH transportu rsync umístěte připojení přes dopřednou proxy na alias SSH hostitele. S implementací nc z OpenBSD lze v ~/.ssh/config zvolit 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í povolit CONNECT na files.example.net:22. U veřejného SSH hostitele, kde jsou veřejní zprostředkovatelé povoleni, nabízí seznam HTTP proxy kandidáty na hostitele a port proxy bez účtu; ověřte povolení pro skutečný cíl SSH a port. Adresa -x u nc označuje zprostředkovatele; %h a %p se rozvinou na cíl SSH a port. Jiný program také nazvaný nc nemusí tyto přepínače podporovat.

Použijte alias jako vzdáleného hostitele v rsync:

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

Cesta s jedinou dvojtečkou volí formu vzdálené schránky. SSH používá obvyklou konfiguraci cílového účtu a klíče hostitele, zatímco pomocník přenáší svůj bajtový tok přes HTTP proxy. Cíl také potřebuje rsync pro vzdálený příkaz.

RSYNC_PROXY naopak konfiguruje přímé připojení rsync k démonu. Toto SSH volání nenastavuje. Stejně tak změna SSH Port na 8080 by zvolila jiný port cílové služby, místo aby označila naslouchající proxy.

Je-li to nutné, ponechte ověřování proxy na rozhraní podporovaném zvoleným pomocníkem; uživatelské jméno SSH není uživatelské jméno proxy.

Související články