Łączenie SSH przez proxy HTTP
Przeprowadź połączenie SSH przez istniejące proxy HTTP CONNECT z ProxyCommand dla każdego hosta.
Z zgodnym z OpenBSD nc dodaj ten wpis hosta do konfiguracji klienta SSH, na przykład ~/.ssh/config:
Host work-through-proxy
HostName ssh.example.com
User alex
ProxyCommand nc -X connect -x proxy.example.net:8080 %h %pUżyj ssh work-through-proxy dla tej trasy. Pomocnik prosi proxy HTTP o CONNECT do ssh.example.com i przekazuje zaakceptowany strumień do SSH. Skierowanie SSH bezpośrednio na port proxy wysłałoby jego uścisk dłoni do usługi oczekującej HTTP.
Zastąp punkt końcowy, cel i konto. Dla publicznie dostępnego celu SSH, gdzie dozwolony jest publiczny pośrednik, lista proxy HTTP oferuje kandydatów do sprawdzenia dostępu do tego hosta i portu; wybierz punkt końcowy, który nie wymaga konta proxy dla pokazanego polecenia. Te opcje OpenBSD nc zależą od implementacji; inny plik wykonywalny o nazwie nc może ich nie obsługiwać.
Proxy może wymagać własnego logowania lub odmówić żądanego portu SSH. 407 dotyczy właśnie tej wymiany z proxy. Po otwarciu tunelu SSH nadal weryfikuje host docelowy i uwierzytelnia użytkownika; odrzucony klucz SSH to inny błąd.
Trzymaj ProxyCommand w zamierzonej sekcji Host i w razie potrzeby używaj obsługiwanej przez wybranego pomocnika ścieżki uwierzytelniania proxy. Polecenie daje strumień, a nie zgodę przez pośrednika. Jeśli dozwolone są tylko cele HTTPS, uzyskaj zatwierdzoną aranżację dostępu SSH, zamiast zakładać, że inna pisownia polecenia zmieni politykę.