Umieść wyjście SOCKS na ostatnim przeskoku SSH
Połącz transport przez host przeskoku SSH z lokalnym dynamicznym przekierowaniem, zachowując końcowe połączenie ze stroną na zamierzonej bramie.
Skonfiguruj ostatni serwer SSH jako host, a serwer pośredniczący umieść w ProxyJump:
Host proxy-exit
HostName exit.example
User operator
ProxyJump [email protected]
DynamicForward 127.0.0.1:1080Mając autoryzowane konta na tych hostach, uruchom ssh -N proxy-exit. Skonfiguruj lokalną aplikację tak, aby używała SOCKS pod 127.0.0.1:1080. Nasłuch znajduje się na kliencie; połączenie SSH dociera do exit.example przez jump.example.
Żądane połączenia ze stronami otwierają się po zdalnej stronie ostatniej sesji SSH—exit.example. Przeskok przenosi transport SSH do tego hosta i nie staje się wyjściem SOCKS tylko dlatego, że był pierwszą osiągalną maszyną.
Cel widzi adres wybrany przez routing hosta wyjściowego i ewentualny NAT. Nie musi on odpowiadać adresowi logowania nazwy hosta. Oba serwery potrzebują uprawnień przekierowania wymaganych przez ich role, a weryfikacja kluczy hosta nadal dotyczy zamierzonych punktów końcowych SSH.
Ta konfiguracja tworzy usługę SOCKS poprzez dynamiczne przekierowanie SSH. Jeśli brama już uruchamia niezależny nasłuch SOCKS, dotarcie do niego stałym przekierowaniem to inne rozwiązanie.