Jak uzyskać dostęp do zdalnego serwera za pomocą hosta SSH Jump

Jak uzyskać dostęp do zdalnego serwera za pomocą hosta SSH Jump

A Skok Host (znany również jako Serwer skoku) jest hostem pośrednikiem lub bramą SSH do zdalnej sieci, za pomocą której można nawiązać z innym hostem w innej strefie bezpieczeństwa, na przykład strefie zdemilitaryzowanej (DMZ). Mosta dwie odmienne strefy bezpieczeństwa i oferuje kontrolowany dostęp do nich.

A Skok Host powinien być wysoce zabezpieczony i monitorowany, zwłaszcza gdy obejmuje sieć prywatną i DMZ z serwerami świadczącymi usługi użytkownikom w Internecie.

Klasyczny scenariusz łączy się z komputera stacjonarnego lub laptopa z wewnętrznej sieci Twojej firmy, która jest wysoce zabezpieczona zaporami ogniowymi do DMZ. Aby łatwo zarządzać serwerem w DMZ, możesz uzyskać do niego dostęp za pośrednictwem Skok Host.

W skrócie, a SSH Jump Serwer to serwer Linux, który jest używany jako brama do innych serwerów Linux w prywatnej sieci nad protokołem SSH.

W tym artykule pokażemy, jak uzyskać dostęp do zdalnego serwera Linux za pośrednictwem Skok Host, A także skonfigurujemy niezbędne ustawienia w konfiguracjach klienta Per-User SSH.

Spis treści

1
    • Konfiguracja serwera SSH Jump
  • Powody konfiguracji serwera SSH Jump
  • Jak utworzyć prosty serwer SSH Jump
  • Dynamiczna lista jumphost
  • Wiele listy Jumphosts
  • Lista statyczna
  • Uczynienie serwera SSH Jump bezpieczniej

Konfiguracja serwera SSH Jump

Rozważ następujący scenariusz.

SSH Jump Host

Aby uzyskać więcej jasności, poniżej znajduje się prosta konfiguracja pokazująca rolę serwera SSH Jump.

Konfiguracja serwera SSH Jump

Powody konfiguracji serwera SSH Jump

A Skok Serwer zapewnia bramę do infrastruktury i zmniejsza potencjalną powierzchnię ataku na Twoje zasoby. Zapewnia również przejrzyste zarządzanie urządzeniami, a także jeden punkt wejścia do twoich zasobów.

Należy pamiętać, że gdy włączasz serwer skoku do infrastruktury, upewnij się, że serwer jest stwardniał, w przeciwnym razie byłby tak dobry, jak nie używanie jednego. Wrócimy do tego później w tym samouczku.

Jak utworzyć prosty serwer SSH Jump

Skoncentrujmy się teraz na tym, jak możesz stworzyć prosty SSH Jump serwer. Oto nasza prosta konfiguracja.

  • IP: 105.68.76.85.
  • Jump Server IP (zadzwonimy do tego skoku hosta): 173.82.232.55.
  • IP docelowy (nazwiemy to host_destination): 173.82.227.89.

W powyższym scenariuszu chcesz się z nią połączyć Gospodarz 2 (173.82.227.89), Ale musisz przejść Gospodarz 1 (173.82.232.55), Z powodu uprawy zapory, routingu i uprawnień do dostępu. Istnieje wiele ważnych powodów, dla których potrzebne są gospodarze skoku.

Dynamiczna lista jumphost

Najprostszy sposób połączenia z serwerem docelowym za pośrednictwem Skok Host używa -A I -J Flagi z wiersza poleceń. To każe SSH, aby nawiązał połączenie z hostem Jump, a następnie ustanowić przekazanie TCP na serwer docelowy (upewnij się, że login SSH bez hasła między maszynami).

$ ssh -a -j [chroniony e -mail] [e -mail chroniony] serwer 

Na przykład w naszej konfiguracji mamy wywołanie użytkownika James skonfigurowane na Serwer skoku I Tecmint skonfigurowane w systemie docelowym lub docelowym.

Polecenie będzie wyglądać w następujący sposób z pochodzącego IP.

$ ssh -a -j [chroniony e -mail] [e -mail chroniony] 

Polecenie wyruszy na hasło użytkownika serwera Jump, a następnie hasło systemu docelowego, na którym otrzymasz dostęp do systemu docelowego.

Połącz serwer za pomocą hosta SSH Jump

Jeśli Nazwy użytkowników Lub porty na maszynach różnią się, podaj je na terminalu, jak pokazano.

$ ssh -J [chroniony e -mail]: port [e -mail chroniony]: port 

Wiele listy Jumphosts

Tę samą składnię można użyć do wykonywania skoków na wiele serwerów.

$ ssh -J [chroniony e -mail]: port, [e -mail chroniony]: port [e -mail chroniony]: port 

Lista statyczna

Statyczna lista sopelów oznacza, że ​​znasz Jumphost Lub Jumphosts że musisz podłączyć maszynę. Dlatego musisz dodać następujące statyczne jumphost „routing” w ~/.ssh/config złożyć i podać aliasy hosta, jak pokazano.

### First Jumphost. Bezpośrednio osiągalny gospodarz VPS1 Nazwa hosta VPS1.przykład.Org ### host, aby skakać do Jumphost1.przykład.Org Host CURABO Nazwa hosta.przykład.ORG PROXYJUMP VPS1 

Teraz spróbuj połączyć się z serwerem docelowym za pośrednictwem Skok Host jak pokazano.

$ ssh -J vps1 contabo 
Zaloguj się do hosta Target za pośrednictwem Jumphost

Drugą metodą jest użycie ProxyCommand opcja dodania Jumphost Konfiguracja w Twoim ~.ssh/config Lub $ Home/.ssh/config plik jak pokazano.

W tym przykładzie host docelowy to CURABO, i Jumphost Jest VPS1.

Host vps1 hostName vps1.przykład.Org IdentityFile ~/.SSH/VPS1.Użytkownik PEM EC2-USER Host Host Contabo HostName Contabo.przykład.Org IdentityFile ~/.SSH/CONTABOVPS Port 22 Administrator użytkownika Polecenie proxy ssh -w %h: %p vps1 

Zapisz zmiany i wyjdź z pliku. Aby zastosować zmiany, uruchom ponownie demon SSH.

$ sudo systemctl restart ssh 

Zbadajmy opcje używane w pliku konfiguracyjnym:

  • -Q - To oznacza tryb cichy. Tłumi ostrzeżenia i wiadomości diagnostyczne.
  • -W - Żąda przekazania standardowego wejścia i wyjścia na klienta do hosta na porcie przez bezpieczny kanał.
  • %H - Określa host do połączenia.
  • %P - Określono port, z którym można się połączyć na zdalnym hoście.

Do 'skok„Do systemu docelowego z IP pochodzącego za pośrednictwem serwera Jump, po prostu uruchom następujące polecenie:

$ SSH CURABO 

Powyższe polecenie najpierw otworzy połączenie SSH z VPS1 w tle dotknięty ProxyCommand, a następnie rozpocznij sesję SSH do docelowego serwera CURABO.

[Może się również spodobać: Jak podłączyć zdalny Linux za pośrednictwem SSH Proxyjump i proxycommand]

Uczynienie serwera SSH Jump bezpieczniej

Jednym ze sposobów zwiększenia bezpieczeństwa tej konfiguracji jest skopiowanie publicznego klucza SSH z systemu pochodzenia do Serwer skoku, a potem wreszcie do systemu docelowego, a następnie wyłączenie uwierzytelniania hasła. Sprawdź nasz przewodnik na temat włączenia uwierzytelniania SSH bez hasła.

Ponadto sprawdź wskazówki dotyczące stwardnienia serwera SSH.

Upewnij się również, że w obrębie żadnych poufnych danych Skok serwer, ponieważ może to prowadzić do wycieku poświadczeń dostępu, takich jak nazwy użytkowników i hasła prowadzące do naruszenia całego systemu.

Aby uzyskać więcej informacji, zobacz stronę SSH Man lub patrz: OpenSSH/CookBXook/Proxies and skok hosts.

To wszystko na teraz! W tym artykule pokazaliśmy, jak uzyskać dostęp do zdalnego serwera za pośrednictwem hosta skoku. Skorzystaj z poniższego formularza opinii, aby zadać wszelkie pytania lub podziel się z nami swoimi przemyśleniami.