Sådan får du adgang til en ekstern server ved hjælp af en Jump-vært


En jump-vært (også kendt som en jump-server) er en mellemliggende vært eller en SSH-gateway til et fjernt netværk, hvorigennem der kan oprettes forbindelse til en anden vært i en anden sikkerhedszone, for eksempel en demilitariseret zone (DMZ). Det bygger bro over to forskellige sikkerhedszoner og tilbyder kontrolleret adgang mellem dem.

En hopphost skal være meget sikret og overvåges, især når den spænder over et privat netværk og en DMZ med servere, der leverer tjenester til brugere på internettet.

Et klassisk scenario er at oprette forbindelse fra din stationære eller bærbare computer indefra virksomhedens interne netværk, som er stærkt sikret med firewalls til en DMZ. For nemt at administrere en server i en DMZ kan du få adgang til den via en jump-vært.

I denne artikel vil vi demonstrere, hvordan du får adgang til en fjern Linux-server via en jump-vært, og vi konfigurerer også de nødvendige indstillinger i dine SSH-klientkonfigurationer pr. Bruger.

Overvej følgende scenarie.

I ovenstående scenarie vil du oprette forbindelse til HOST 2, men du skal gennem HOST 1 på grund af firewalling, routing og adgangsrettigheder. Der er en række gyldige grunde til, at der er behov for jumphosts ..

Dynamisk Jumphost-liste

Den enkleste måde at oprette forbindelse til en målserver via en jump-vært er at bruge -J flag fra kommandolinjen. Dette fortæller ssh at oprette forbindelse til springværten og derefter oprette en TCP-videresendelse til målserveren derfra (sørg for at du har adgangskodeløs SSH-login mellem maskiner).

$ ssh -J host1 host2

Hvis brugernavne eller porte på maskiner er forskellige, skal du angive dem på terminalen som vist.

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

Flere Jumphosts-liste

Den samme syntaks kan bruges til at springe over flere servere.

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

Statisk Jumphost-liste

Statisk jumphost-liste betyder, at du kender jumphost eller jumphosts, som du har brug for for at forbinde en maskine. Derfor skal du tilføje følgende statiske jumphost 'routing' i ~/.ssh/config -filen og angive værtsaliaserne som vist.

### 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

Prøv nu at oprette forbindelse til en målserver via en jump-vært som vist.

$ ssh -J vps1 contabo

Den anden metode er at bruge indstillingen ProxyCommand til at tilføje jumphost-konfigurationen i din ~ .ssh/config eller $ HOME/.ssh/config fil som vist.

I dette eksempel er målværten contabo og jumphost er 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

Hvor kommandoen Proxy Command ssh -q -W% h:% p vps1 , betyder at køre ssh i stille tilstand (ved hjælp af -q ) og i stdio-videresendelse (ved hjælp af -W ) -tilstand, omdiriger forbindelsen gennem en mellemliggende vært (vps1).

Prøv derefter at få adgang til din målvært som vist.

$ ssh contabo

Ovenstående kommando åbner først en ssh-forbindelse til vps1 i baggrunden, der foretages af ProxyCommand, og derefter starter ssh-sessionen til målserverkontaboen.

For mere information, se ssh man-siden eller se: OpenSSH/Cookbxook/Proxies og Jump Hosts.

Det er alt for nu! I denne artikel har vi demonstreret, hvordan du får adgang til en ekstern server via en jump-vært. Brug feedbackformularen nedenfor til at stille spørgsmål eller dele dine tanker med os.