Jak podłączyć zdalny Linux za pośrednictwem SSH Proxyjump i proxyCommand

Jak podłączyć zdalny Linux za pośrednictwem SSH Proxyjump i proxyCommand

Krótko: W tym przewodniku pokazujemy, jak korzystać z poleceń SSH ProxyJump i SSH ProxyCommand podczas łączenia się z serwerem skokowym.

W naszym poprzednim przewodniku, jak skonfigurować serwer SSH Jump, omówiliśmy koncepcję Gospodarz Bastion. A Gospodarz Bastion lub Serwer skoku to urządzenie pośrednie, z którym klient SSH łączy się najpierw przed dostępem do docelowego zdalnego systemu Linux. Jakiś SSH Jump serwer działa jak brama do zasobów informatycznych, zmniejszając w ten sposób powierzchnię ataku.

SSH Proxyjump I ProxyCommand Polecenia określają, jak klient łączy się z serwerem zdalnym za pośrednictwem Serwer skoku, Skok Host, Lub serwer Bastion.

Ten przewodnik świeci w centrum uwagi na SSH Proxyjump I Polecenie proxy ssh w Linux.

Spis treści

1
  • Podłącz zdalny Linux za pomocą polecenia SSH ProxyJump
    • Konfigurowanie hostów proxy w ~/.plik ssh/config
  • Podłącz zdalny Linux za pomocą komendy SSH ProxyCommand
    • Konfigurowanie proxycommand w ~/.plik ssh/config
      • Wniosek

Podłącz zdalny Linux za pomocą polecenia SSH ProxyJump

Proxyjump polecenie jest oznaczone -J flaga. Został wprowadzony w OpenSsh Server w wersji 7.3 i pomaga nawiązać połączenie ze zdalnym celem, pomijając bastion lub serwer skoku.

Poniższa składnia pokazuje, w jaki sposób używana jest ta opcja:

$ ssh -J   

W przypadku wielu serwerów bastion lub skoków składnia przyjmuje następujący format.

$ ssh -J    

W obu przypadkach zostaniesz zalogowany jako użytkownik root na każdym kroku. Nie jest to idealne z powodów bezpieczeństwa, więc możesz utworzyć różnych użytkowników w każdym przypadku.

Możesz wyraźnie określić różnych użytkowników i portów SSH, jak pokazano.

$ ssh -J <[email protected]:port> <[email protected]:port> 

Aby zademonstrować Proxyjump flaga w akcji, mamy prostą konfigurację, jak pokazano.

Jump Server IP: 173.82.232.55 Użytkownik: James zdalny cel IP: 173.82.227.89 Użytkownik: Tecmint 

Aby połączyć się ze zdalnym celem za pomocą Skok serwer, polecenie będzie wyglądać w następujący sposób.

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

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

Połącz Linux za pomocą serwera Jump

Konfigurowanie hostów proxy w ~/.plik ssh/config

Jeśli regularnie używasz określonego bastionu do połączenia z określonym zdalnym celem, możesz dołączyć następujące Proxyjump konfiguracja w ~/.ssh/config plik, aby połączenie jest bezproblemowe. Kiedy tak się stanie, zostaniesz uwierzytelniony tylko raz, a dzieje się to tylko w odległym celu.

Host Host-Jump User James HostName 173.82.232.55 Host Host_destination Użytkownik Tecmint Nazwa hosta 173.82.227.89 Port 22 

Korzystając z powyższej konfiguracji, możesz nawiązać połączenie z celem, jak pokazano.

$ ssh -J host_destination 
SSH do zdalnego Linux przez proxyjump

Podłącz zdalny Linux za pomocą komendy SSH ProxyCommand

Zanim SSH Proxy Jump, ProxyCommand był jedynym sposobem skakania gospodarzy, aby osiągnąć zdalny cel. Działa poprzez przekazanie stdina (standard in) i stdout (standard) z zdalnego celu za pośrednictwem serwera skokowego lub bastionu.

ProxyCommand przyjmuje następującą składnię.

$ ssh -o proxycommand = "ssh -w %h: %p"  

Tutaj -W do %H:%P argumenty przekazują Stdin i Out do zdalnego gospodarza (%H) i port zdalnego hosta (%P).

Aby wprowadzić polecenie, tak wyglądałoby nasze polecenie

$ ssh -o proxycommand = "ssh -w %h: %p 173.82.232.55 "173.82.227.89 
Podłącz Linuksa za pomocą proxyCommand

Konfigurowanie proxycommand w ~/.plik ssh/config

Oczywiście wpisanie całego polecenia jest żmudne i czasochłonne. Aby uniknąć wpisywania tak długiego polecenia, dodaj następujące wiersze kodu do swojego ~/.ssh/config plik.

Host Host-Destination HostName 173.82.227.89 ProxyCommand SSH -Q -W %H: %P -skok -skokowy 

Zapisz i wyjdź.

Teraz wszystko, co musisz zrobić, to uruchomić następujące polecenie, aby połączyć się z serwerem zdalnym.

$ SSH Host-Destination 

[Możesz także polubił: Jak zabezpieczyć i utwardzić serwer OpenSsh]

Wniosek

W tym przewodniku pokazaliśmy, jak Proxyjump I ProxyCommand Polecenia działają. Ogólnie, Proxyjump jest lepsza alternatywa dla ProxyCommand i zapewnia łatwiejszy i bezproblemowy sposób połączenia z zdalnym celem za pośrednictwem hosta skoku.