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.