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

jump host (znany również jako jump server) to host pośredniczący lub brama SSH do zdalnej sieci, za pośrednictwem której można nawiązać połączenie z innym hostem w odmiennej strefie bezpieczeństwa, na przykład strefie zdemilitaryzowanej (DMZ). Łączy dwie odmienne strefy bezpieczeństwa i oferuje kontrolowany dostęp między nimi.

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

klasycznym scenariuszem jest połączenie z komputera stacjonarnego lub laptopa z wewnętrznej sieci firmy, która jest wysoce zabezpieczona zaporą ogniową do DMZ. Aby łatwo zarządzać serwerem w DMZ, możesz uzyskać do niego dostęp za pośrednictwem hosta skoku.

w tym artykule zademonstrujemy, jak uzyskać dostęp do zdalnego serwera Linux za pośrednictwem hosta skokowego, a także skonfigurujemy niezbędne ustawienia w konfiguracjach klienta SSH dla każdego użytkownika.

rozważ następujący scenariusz.

SSH Jump Host
SSH Jump Host

w powyższym scenariuszu chcesz połączyć się z hostem 2, ale musisz przejść przez HOST 1, ze względu na zaporę, routing i uprawnienia dostępu. Istnieje wiele ważnych powodów, dla których jumphosts są potrzebne..

dynamiczna lista skoków

najprostszym sposobem połączenia się z serwerem docelowym za pomocą hosta skoków jest użycie flagi -J z wiersza poleceń. To mówi ssh, aby nawiązać połączenie z hostem skoku, a następnie ustanowić przekierowanie TCP do serwera docelowego, stamtąd (upewnij się, że masz hasło logowania SSH między maszynami).

$ ssh -J host1 host2

jeśli nazwy użytkowników lub porty na komputerach różnią się, określ je na terminalu, jak pokazano.

$ ssh -J username@host1:port username@host2:port 

lista wielu skoków

ta sama składnia może być użyta do wykonywania skoków na wielu serwerach.

$ ssh -J username@host1:port,username@host2:port username@host3:port

statyczna lista Jumphostów

statyczna lista jumphostów oznacza, że znasz jumphost lub jumphosty, które są potrzebne do podłączenia maszyny. Dlatego musisz dodać następujący statyczny jumphost 'routing’ w pliku ~/.ssh/config i określić aliasy hostów, jak pokazano.

### First jumphost. Directly reachableHost vps1 HostName vps1.example.org### Host to jump to via jumphost1.example.orgHost contabo HostName contabo.example.org ProxyJump contabo

teraz spróbuj połączyć się z serwerem docelowym za pomocą hosta skoku, jak pokazano.

$ ssh -J vps1 contabo
Zaloguj się do hosta docelowego przez Jumphost
Zaloguj się do hosta docelowego przez Jumphost

drugą metodą jest użycie opcji ProxyCommand, aby dodać konfigurację jumphost do pliku ~.ssh/config lub $HOME/.ssh/config, jak pokazano.

w tym przykładzie docelowym hostem jest contabo, a jumphost to vps1.

Host vps1HostName vps1.example.orgIdentityFile ~/.ssh/vps1.pemUser ec2-userHost contaboHostName contabo.example.orgIdentityFile ~/.ssh/contabovpsPort 22User adminProxy Command ssh -q -W %h:%p vps1

gdzie polecenie Proxy Command ssh -q -W %h:%p vps1 oznacza uruchomienie ssh w trybie cichym (przy użyciu -q) i w trybie przekazywania stdio (przy użyciu -W), przekierowanie połączenia przez host pośredni (vps1).

następnie spróbuj uzyskać dostęp do docelowego hosta, jak pokazano.

$ ssh contabo

powyższe polecenie najpierw otworzy połączenie ssh z vps1 w tle realizowane przez ProxyCommand, a tam po uruchomieniu sesji ssh do serwera docelowego contabo.

aby uzyskać więcej informacji, zobacz stronę podręcznika ssh lub zobacz: OpenSSH/Cookbxook/Proxy i Jump Hosts.

to wszystko na razie! W tym artykule pokazaliśmy, jak uzyskać dostęp do zdalnego serwera za pomocą hosta skoku. Skorzystaj z poniższego formularza, aby zadać pytania lub podzielić się z nami swoimi przemyśleniami.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.