Kako dostopati do oddaljenega strežnika z uporabo gostitelja za skoke


Gostitelj za preskok (znan tudi kot strežnik za preskok) je vmesni gostitelj ali prehod SSH v oddaljeno omrežje, prek katerega je mogoče vzpostaviti povezavo z drugim gostiteljem v različnem varnostnem območju, na primer demilitariziranem območju (DMZ). Premošča dve različni varnostni coni in med njima ponuja nadzorovan dostop.

Gostitelja za preskok je treba zelo zavarovati in spremljati, še posebej, če se razteza prek zasebnega omrežja in DMZ s strežniki, ki uporabnikom na internetu ponujajo storitve.

Klasičen scenarij je povezovanje z namizja ali prenosnika iz notranjega omrežja vašega podjetja, ki je s požarnimi zidovi zelo zaščiteno do DMZ. Za preprosto upravljanje strežnika v DMZ lahko do njega dostopate prek gostitelja za skoke.

V tem članku bomo pokazali, kako dostopati do oddaljenega strežnika Linux prek gostitelja za skoke, prav tako pa bomo konfigurirali potrebne nastavitve v konfiguracijah odjemalca SSH za vsakega uporabnika.

Razmislite o naslednjem scenariju.

V zgornjem scenariju se želite povezati z HOST 2, vendar morate iti skozi HOST 1 zaradi požarnega zidu, usmerjanja in dostopa. Obstajajo številni veljavni razlogi, zakaj so potrebni skoki.

Dynamic Jumphost List

Najpreprostejši način za povezavo s ciljnim strežnikom prek gostitelja za skok je uporaba zastavice -J iz ukazne vrstice. To pove ssh -u, naj vzpostavi povezavo z gostiteljem za preskok in nato vzpostavi posredovanje TCP na ciljni strežnik, od tam (preverite, ali imate SSH prijavo brez gesla med stroji).

$ ssh -J host1 host2

Če se uporabniška imena ali vrata na strojih razlikujejo, jih navedite na terminalu, kot je prikazano.

$ ssh -J [email :port [email :port	  

Seznam več skokov

Ista sintaksa se lahko uporablja za skoke čez več strežnikov.

$ ssh -J [email :port,[email :port [email :port

Statični seznam Jumphost

Statični seznam jumphost pomeni, da poznate jumphost ali jumphosts, ki jih potrebujete za povezavo stroja. Zato morate v datoteko ~/.ssh/config dodati naslednje statično "usmerjanje" jumphost -ja in podati vzdevke gostitelja, kot je prikazano.

### First jumphost. Directly reachable
Host vps1
  HostName vps1.example.org

### Host to jump to via jumphost1.example.org
Host contabo
  HostName contabo.example.org
  ProxyJump vps1

Zdaj se poskusite povezati s ciljnim strežnikom prek gostitelja za preskok, kot je prikazano.

$ ssh -J vps1 contabo

Druga metoda je uporaba možnosti ProxyCommand za dodajanje konfiguracije jumphost v datoteko ~ .ssh/config ali $HOME/.ssh/config , kot je prikazano.

V tem primeru je ciljni gostitelj contabo, preskok pa vps1.

Host vps1
	HostName vps1.example.org
	IdentityFile ~/.ssh/vps1.pem
	User ec2-user

Host contabo
	HostName contabo.example.org	
	IdentityFile ~/.ssh/contabovps
	Port 22
	User admin	
	Proxy Command ssh -q -W %h:%p vps1

Kjer ukaz Proxy Command ssh -q -W %h: %p vps1 pomeni zagon ssh v tihem načinu (z uporabo -q ) in v posredovanju stdio (z uporabo -W ), preusmerite povezavo prek vmesnega gostitelja (vps1).

Nato poskusite dostopati do ciljnega gostitelja, kot je prikazano.

$ ssh contabo

Zgornji ukaz bo najprej odprl povezavo ssh do vps1 v ozadju, ki jo izvaja ProxyCommand, nato pa zaženite sejo ssh do ciljnega strežnika contabo.

Za več informacij si oglejte man strani ssh ali se obrnite na: OpenSSH/Cookbxook/Proxies in Jump Hosts.

To je vse za zdaj! V tem članku smo pokazali, kako dostopati do oddaljenega strežnika prek skoka gostitelja. Uporabite spodnji obrazec za povratne informacije, če želite zastaviti kakršna koli vprašanja ali deliti svoje misli z nami.