Pozwól rsync ponownie użyć aliasu hosta SSH przez proxy HTTP
Dołącz pomocnik HTTP CONNECT do konfiguracji SSH używanej przez transport zdalnej powłoki rsync.
W transporcie SSH rsync połączenie przez proxy forward umieszcza się na aliasie hosta SSH. Dzięki implementacji nc z OpenBSD w ~/.ssh/config można wybrać proxy HTTP bez konta:
Host sync-target
HostName files.example.net
User syncuser
Port 22
ProxyCommand nc -X connect -x proxy.example.net:8080 %h %pProxy musi zezwalać na CONNECT do files.example.net:22. Dla publicznego hosta SSH, na którym dozwolone są publiczne pośredniki, lista proxy HTTP oferuje kandydatów na host i port proxy bez konta; sprawdź pozwolenie dla rzeczywistego celu i portu SSH. Adres -x w nc wskazuje pośrednika; %h i %p rozwijają się do celu i portu SSH. Inny program również nazwany nc może nie obsługiwać tych przełączników.
Użyj aliasu jako hosta zdalnego w rsync:
rsync -av -e ssh sync-target:/srv/export/ ./export/Ścieżka z jednym dwukropkiem wybiera formę zdalnej powłoki. SSH używa zwykłej konfiguracji konta docelowego i klucza hosta, a pomocnik przenosi swój strumień bajtów przez proxy HTTP. Cel również potrzebuje rsync dla zdalnego polecenia.
RSYNC_PROXY konfiguruje natomiast bezpośrednie połączenie rsync z demonem. Nie konfiguruje tego wywołania SSH. Podobnie zmiana Port w SSH na 8080 wybrałaby inny port usługi docelowej, zamiast wskazać nasłuch proxy.
W razie potrzeby pozostaw uwierzytelnianie proxy na interfejsie obsługiwanym przez wybranego pomocnika; nazwa użytkownika SSH nie jest nazwą użytkownika proxy.