Hoe toegang te krijgen tot een server op afstand met behulp van een Jump Host

een jump host (ook bekend als een jump server) is een intermediaire host of een SSH-gateway naar een extern netwerk, waardoor een verbinding kan worden gemaakt met een andere host in een ongelijke beveiligingszone, bijvoorbeeld een gedemilitariseerde zone (DMZ). Het overbrugt twee verschillende veiligheidszones en biedt gecontroleerde toegang tussen hen.

een jump host moet in hoge mate beveiligd en bewaakt worden, vooral wanneer het een particulier netwerk en een DMZ overspant met servers die diensten verlenen aan gebruikers op het internet.

een klassiek scenario is het verbinden van uw desktop of laptop vanuit het interne netwerk van uw bedrijf, dat sterk beveiligd is met firewalls naar een DMZ. Om een server in een DMZ eenvoudig te beheren, kunt u deze benaderen via een jump host.

in dit artikel zullen we laten zien hoe je toegang krijgt tot een externe Linux server via een jump host en we zullen ook de nodige instellingen configureren in je ssh client configuraties per gebruiker.

overweeg het volgende scenario.

SSH Jump Host
SSH Jump Host

in het bovenstaande scenario wilt u verbinding maken met HOST 2, maar moet u HOST 1 doorlopen vanwege firewalling, routing en toegangsrechten. Er zijn een aantal geldige redenen waarom jumphosts nodig zijn..

dynamische Jumphost List

de eenvoudigste manier om verbinding te maken met een doelserver via een jump host is met behulp van de -J vlag vanaf de opdrachtregel. Dit vertelt ssh om een verbinding te maken met de jump host en dan een TCP forwarding naar de doelserver tot stand te brengen, vanaf daar (zorg ervoor dat je SSH Login Passwordless hebt tussen machines).

$ ssh -J host1 host2

als gebruikersnamen of poorten op machines verschillen, specificeer ze op de terminal zoals getoond.

$ ssh -J username@host1:port username@host2:port 

Lijst met meerdere Jumphosts

dezelfde syntaxis kan worden gebruikt om sprongen over meerdere servers te maken.

$ ssh -J username@host1:port,username@host2:port username@host3:port

statische Jumphost List

statische jumphost list betekent dat u de jumphost of jumphosts kent die u nodig hebt om een machine aan te sluiten. Daarom moet u de volgende statische jumphost ‘routing’ toevoegen in ~/.ssh/config bestand en de host aliassen opgeven zoals getoond.

### First jumphost. Directly reachableHost vps1 HostName vps1.example.org### Host to jump to via jumphost1.example.orgHost contabo HostName contabo.example.org ProxyJump contabo

Probeer nu verbinding te maken met een doelserver via een jump host zoals getoond.

$ ssh -J vps1 contabo
inloggen op doelhost via Jumphost
inloggen op doelhost via Jumphost

de tweede methode is om de optie ProxyCommand te gebruiken om de jumphost configuratie toe te voegen in uw ~.ssh/config of $HOME/.ssh/config bestand zoals getoond.

in dit voorbeeld is de doelhost contabo en de jumphost 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

waarbij het commando Proxy Command ssh -q -W %h:%p vps1, SSH uitvoeren in stille modus (met -q) en in stdio forwarding (met -W) modus, de verbinding omleiden via een tussenliggende host (vps1).

probeer dan toegang te krijgen tot uw doelhost zoals getoond.

$ ssh contabo

het bovenstaande commando opent eerst een SSH-verbinding met vps1 op de achtergrond, uitgevoerd door het Proxycommando, en daarna start u de SSH-sessie op de doelserver contabo.

voor meer informatie, zie de SSH man page of refereer naar: OpenSSH/Cookbxook/Proxies en Jump Hosts.

dat is alles voor nu! In dit artikel hebben we laten zien hoe je toegang krijgt tot een server op afstand via een jump host. Gebruik het onderstaande feedbackformulier om vragen te stellen of uw gedachten met ons te delen.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.