a ugró gazdagép (más néven ugrószerver) egy közvetítő gazdagép vagy SSH átjáró egy távoli hálózathoz, amelyen keresztül kapcsolat létesíthető egy másik gazdagéppel egy eltérő biztonsági zónában, például a demilitarizált zóna (DMZ). Két különböző biztonsági zónát hidal át, és ellenőrzött hozzáférést biztosít közöttük.
a jump host-ot nagy biztonsággal és figyelemmel kell kísérni, különösen akkor, ha magánhálózatot és DMZ-t ölel fel, amelynek szerverei szolgáltatásokat nyújtanak a felhasználók számára az interneten.
a klasszikus forgatókönyv csatlakozik az asztali vagy laptop belülről a cég belső hálózat, amely erősen biztonságos tűzfalak egy DMZ. Annak érdekében, hogy könnyen kezelheti a szervert egy DMZ-ben, elérheti azt egy jump host-on keresztül.
ebben a cikkben bemutatjuk, hogyan lehet hozzáférni egy távoli Linux szerverhez egy jump host-on keresztül, valamint konfiguráljuk a szükséges beállításokat a felhasználónkénti SSH kliens konfigurációkban.
Tekintsük a következő forgatókönyvet.
a fenti forgatókönyv szerint csatlakozni szeretne a 2.gazdagéphez, de a tűzfal, az Útválasztás és a hozzáférési jogosultságok miatt az 1. gazdagépen kell keresztülmennie. Számos érvényes oka van annak, hogy miért van szükség jumphostokra..
dinamikus Jumphost lista
a célszerverhez jump host-on keresztül történő csatlakozás legegyszerűbb módja a parancssor -J
jelzőjének használata. Ez azt mondja az ssh-nak, hogy hozzon létre kapcsolatot a jump host-tal, majd hozzon létre egy TCP-továbbítást a célkiszolgálóra, onnan (győződjön meg róla, hogy jelszó nélküli SSH bejelentkezést végzett a gépek között).
$ ssh -J host1 host2
ha a gépek felhasználónevei vagy portjai eltérnek, adja meg őket a terminálon az ábrán látható módon.
$ ssh -J username@host1:port username@host2:port
több Jumphosts lista
ugyanaz a szintaxis használható több szerveren történő ugrásokhoz.
$ ssh -J username@host1:port,username@host2:port username@host3:port
statikus Jumphost lista
statikus jumphost lista azt jelenti,, hogy tudod, hogy a jumphost vagy jumphosts, hogy meg kell csatlakoztatni a gépet. Ezért a következő statikus jumphost ‘routing’ fájlt kell hozzáadnod a ~/.ssh/config
fájlhoz, és meg kell adnod a gazdagép álneveket az ábrán látható módon.
### First jumphost. Directly reachableHost vps1 HostName vps1.example.org### Host to jump to via jumphost1.example.orgHost contabo HostName contabo.example.org ProxyJump contabo
most próbáljon meg csatlakozni egy célszerverhez egy jump host-on keresztül az ábrán látható módon.
$ ssh -J vps1 contabo
a második módszer a ProxyCommand opció használata a jumphost konfiguráció hozzáadásához a ~.ssh/config
vagy $HOME/.ssh/config
fájlban az ábrán látható módon.
ebben a példában a célállomás a contabo, a jumphost pedig a 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
ahol a Proxy Command ssh -q -W %h:%p vps1
parancs azt jelenti, hogy az ssh futtatása csendes módban (-q
használatával), az stdio továbbítás (-W
használatával) módban pedig átirányítja a kapcsolatot egy közbenső gazdagépen (vps1) keresztül.
ezután próbálja meg elérni a célállomást az ábrán látható módon.
$ ssh contabo
a fenti parancs először ssh kapcsolatot nyit meg a Vps1-hez a háttérben, amelyet a ProxyCommand hajt végre, majd utána elindítja az ssh munkamenetet a Contabo célszerverre.
további információkért lásd az ssh man oldalt, vagy lásd: OpenSSH/Cookbxook/Proxies and Jump Hosts.
ez minden most! Ebben a cikkben bemutattuk, hogyan lehet hozzáférni egy távoli szerverhez egy ugró gazdagépen keresztül. Használja az alábbi visszajelzési űrlapot, hogy kérdéseket tegyen fel, vagy ossza meg velünk gondolatait.