o gazdă jump (cunoscută și sub numele de server jump) este o gazdă intermediară sau o poartă SSH către o rețea la distanță, prin care se poate face o conexiune la o altă gazdă într-o zonă de securitate diferită, de exemplu o zonă demilitarizată (DMZ). Acesta leagă două zone de securitate diferite și oferă acces controlat între ele.
o gazdă jump ar trebui să fie foarte securizată și monitorizată, mai ales atunci când se întinde pe o rețea privată și un DMZ cu servere care oferă servicii utilizatorilor pe internet.
un scenariu clasic este conectarea de pe desktop sau laptop din interiorul rețelei interne a companiei dvs., care este foarte securizată cu firewall-uri la un DMZ. Pentru a gestiona cu ușurință un server într-un DMZ, îl puteți accesa printr-o gazdă jump.
în acest articol, vom demonstra cum să accesați un server Linux la distanță printr-o gazdă jump și, de asemenea, vom configura setările necesare în configurațiile clientului SSH per utilizator.
luați în considerare următorul scenariu.
în scenariul de mai sus, doriți să vă conectați la gazdă 2, dar trebuie să treacă prin gazdă 1, din cauza firewall, rutare și privilegii de acces. Există o serie de motive valabile pentru care sunt necesare jumphosts..
Dynamic Jumphost List
cea mai simplă modalitate de a vă conecta la un server țintă printr-o gazdă de salt este utilizarea steagului -J
din linia de comandă. Acest lucru îi spune ssh să facă o conexiune la jump host și apoi să stabilească o redirecționare TCP către serverul țintă, de acolo (asigurați-vă că ați conectat SSH fără parolă între mașini).
$ ssh -J host1 host2
dacă numele de utilizator sau porturile de pe mașini diferă, specificați-le pe terminal așa cum se arată.
$ ssh -J username@host1:port username@host2:port
multiple Lista Jumphosts
aceeași sintaxă poate fi folosit pentru a face salturi pe mai multe servere.
$ ssh -J username@host1:port,username@host2:port username@host3:port
static lista Jumphost
Static lista jumphost înseamnă, că știți jumphost sau jumphosts care aveți nevoie pentru a conecta o mașină. Prin urmare, trebuie să adăugați următorul jumphost static ‘routing’ în fișierul ~/.ssh/config
și să specificați aliasurile gazdă așa cum se arată.
### First jumphost. Directly reachableHost vps1 HostName vps1.example.org### Host to jump to via jumphost1.example.orgHost contabo HostName contabo.example.org ProxyJump contabo
acum încercați să vă conectați la un server țintă printr-o gazdă salt așa cum se arată.
$ ssh -J vps1 contabo
a doua metodă este să utilizați opțiunea ProxyCommand pentru a adăuga configurația jumphost în fișierul ~.ssh/config
sau $HOME/.ssh/config
așa cum se arată.
în acest exemplu, gazda țintă este contabo și jumphost este 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
unde comanda Proxy Command ssh -q -W %h:%p vps1
, înseamnă rulați ssh în modul silențios (folosind -q
) și în stdio forwarding (folosind -W
) modul, redirecționați conexiunea printr-o gazdă intermediară (vps1).
apoi încercați să accesați gazda țintă așa cum se arată.
$ ssh contabo
comanda de mai sus va deschide mai întâi o conexiune ssh la vps1 în fundal efectuată de ProxyCommand și, după aceea, va începe sesiunea ssh către serverul țintă contabo.
pentru mai multe informații, consultați pagina SSH man sau consultați: OpenSSH/Cookbxook/Proxies și Jump Hosts.
asta e tot pentru moment! În acest articol, am demonstrat cum să accesați un server la distanță printr-o gazdă jump. Utilizați formularul de feedback de mai jos pentru a pune întrebări sau pentru a vă împărtăși gândurile cu noi.