For rsyncs SSH-transport skal forbindelsen via forward-proxyen ligge på SSH-vertsaliaset. Med OpenBSD-implementasjonen av nc kan en HTTP-proxy uten konto velges i ~/.ssh/config:

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

Proxyen må tillate CONNECT til files.example.net:22. For en offentlig SSH-vert der offentlige mellomledd er tillatt, tilbyr HTTP-proxylisten kandidater for proxyvert og -port uten konto; bekreft tillatelsen for det faktiske SSH-målet og porten. nc sin -x-adresse angir mellomleddet; %h og %p utvides til SSH-destinasjonen og -porten. Et annet program med samme navn nc støtter kanskje ikke disse bryterne.

Bruk aliaset som fjernvert i rsync:

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

Stien med ett kolon velger fjernskallformen. SSH bruker sin vanlige konfigurasjon for målkonto og vertsnøkkel, mens hjelperen bærer bytestrømmen gjennom HTTP-proxyen. Målet trenger også rsync for fjernkommandoen.

RSYNC_PROXY konfigurerer derimot rsyncs direkte daemonforbindelse. Den konfigurerer ikke dette SSH-kallet. På samme måte vil en endring av SSH Port til 8080 velge en annen målport for tjenesten, i stedet for å angi proxylytteren.

Behold proxyautentisering på grensesnittet som den valgte hjelperen støtter når det er nødvendig; et SSH-brukernavn er ikke et proxybrukernavn.

Relaterte artikler