Jak połączyć się do serwera ssh z prywatnym adresem IP za pomocą funkcji ProxyJump w ssh
Zespół Ratioweb oferuje szeroki zakres usług, co często oznacza konieczność uzyskiwania dostępu do serwerów naszych klientów. Organizacje stosują różne strategie ochrony swoich serwerów. Niektóre serwery są publicznie dostępne, podczas gdy inne wymagają skonfigurowania VPN. Czasami dostęp jest udzielany przez specjalny serwer, znany jako bastion host, który stanowi bramę do DMZ (Strefy Zdemilitaryzowanej).
W tym tekście podzielę się prostą sztuczką, która upraszcza codzienną pracę przy korzystaniu z DMZ chronionej przez bastion host.
Tradycyjna metoda dostępu
Zazwyczaj dostęp do tych maszyn jest udzielany za pomocą popularnej usługi SSH. Oto standardowa procedura:
- Połączenie z bastionem
ssh user-login@1.2.3.4 -A
(Używamy forwardingu SSH agenta aby upewnić się, że uwierzytelnianie działa na maszynie bastionu)
- Połączenie z bastionu do maszyny docelowej:
ssh user-login2@10.0.0.5
Choć to rozwiązanie działa, jest dość uciążliwe. Jako deweloperzy webowi lub administratorzy, zaoszczędzenie kilku naciśnięć klawiszy może znacznie usprawnić naszą pracę. Dodatkowo, kopiowanie plików wymaga ich przesyłania dwa razy – najpierw na host bastionowy, a następnie do docelowej maszyny. Nie jest to zbyt przyjemne zadanie!
Wprowadzenie do SSH ProxyJump
Na szczęście istnieje rozwiązanie: często pomijana funkcja "ProxyJump" klienta SSH. Określając dyrektywę "ProxyJump" w pliku .ssh/config
, możesz bezpośrednio połączyć się z serwerem za publicznie dostępnym serwerem, co zmniejsza potrzebę użycia wielu poleceń i upraszcza twoją pracę.
Konfiguracja ProxyJump
Oto podstawowy przykład konfiguracji:
Host public.customer.org
HostName 1.2.3.4
User user-login
Port 22
PreferredAuthentications publickey
Host private.customer.org
HostName 10.0.0.5
User user-login2
Port 22
PreferredAuthentications publickey
ProxyJump public.customer.org
Dzięki temu, za pomocą komendy ssh private.customer.org
połączysz się do serwera, bezpośrednio z twojej stacji roboczej.
Ta metoda nie tylko oszczędza czasu, ale także zmniejsza obciążenie dla palców podczas pisania, przedłużając żywotność dłoni :). Jest to prosta zmiana z dużym wpływem na efektywność, szczególnie cenna dla osób zarządzających skomplikowanymi sieciami.
Od teraz, zamiast używać dwóch poleceń do połączenia się z ostatecznym serwerem, wystarczy jedno! Co więcej, polecenia takie jak scp
lub rsync
również korzystają z ustawień .ssh/config
, umożliwiając kopiowanie plików bezpośrednio tam, gdzie chcesz ich użyć.
Dla szczegółowych kroków i dodatkowych informacji na temat wykorzystania ProxyJump zaleca się konsultację oficjalnej dokumentacji lub odpowiednich forów technicznych.
Kluczowe przesłanie: Wykorzystując funkcję ProxyJump klienta SSH, możesz uprościć dostęp do serwerów, zaoszczędzić czas i ułatwić transfer plików. To niewielka zmiana z dużymi korzyściami dla twojego workflow!
z ambitnymi ludźmi i projektami