Laat rsync een SSH-hostalias hergebruiken via de HTTP-proxy
Koppel een HTTP CONNECT-hulp aan de SSH-configuratie die het remote-shelltransport van rsync gebruikt.
Voor het SSH-transport van rsync hoort de verbinding via de forward-proxy op de SSH-hostalias. Met de OpenBSD-implementatie van nc kan in ~/.ssh/config een HTTP-proxy zonder account worden gekozen:
Host sync-target
HostName files.example.net
User syncuser
Port 22
ProxyCommand nc -X connect -x proxy.example.net:8080 %h %pDe proxy moet CONNECT naar files.example.net:22 toestaan. Voor een openbare SSH-host waar openbare tussenpartijen zijn toegestaan, biedt de HTTP-proxylijst kandidaten voor proxyhost en -poort zonder account; controleer de toestemming voor het werkelijke SSH-doel en de poort. Het -x-adres van nc wijst de tussenpartij aan; %h en %p worden uitgebreid naar de SSH-bestemming en -poort. Een ander programma dat ook nc heet ondersteunt deze schakelaars mogelijk niet.
Gebruik de alias als externe host in rsync:
rsync -av -e ssh sync-target:/srv/export/ ./export/Het pad met één dubbele punt kiest de remote-shellvorm. SSH gebruikt zijn gebruikelijke configuratie voor doelaccount en hostsleutel, terwijl de hulp zijn bytestroom door de HTTP-proxy leidt. De bestemming heeft ook rsync nodig voor de externe opdracht.
RSYNC_PROXY configureert daarentegen de directe daemonverbinding van rsync. Het configureert deze SSH-aanroep niet. Evenzo zou het wijzigen van de SSH-poort naar 8080 een andere poort van de doeldienst kiezen, in plaats van de proxyluisteraar aan te wijzen.
Houd proxyauthenticatie waar nodig op de interface die de gekozen hulp ondersteunt; een SSH-gebruikersnaam is geen proxygebruikersnaam.