Wéi Zougang zu engem Remote Server mat engem Jump Host


E Spronghost (och bekannt als Sprongserver) ass en Tëschestatiounshost oder e SSH Paart zu engem Fernnetz, duerch deen eng Verbindung mat engem aneren Host an enger ongläicher Sécherheetszone gemaach ka ginn, zum Beispill eng demilitariséierter Zone (DMZ). Et iwwerbréckt zwou ongläiche Sécherheetszonen a bitt e kontrolléierten Zougang tëscht hinnen.

E Spronghost soll héich geséchert a iwwerwaacht ginn, besonnesch wann et e privaten Netzwierk an en DMZ mat Serveren déi Servicer u Benotzer um Internet ubidden.

E klassesche Szenario ass d'Verbindung vun Ärem Desktop oder Laptop vu bannent Ärem internen Netzwierk vun Ärer Firma, wat mat Firewalls op en DMZ héich geséchert ass. Fir e Server an engem DMZ einfach ze managen, kënnt Dir et iwwer e Spronghost zougräifen.

An dësem Artikel wäerte mir demonstréieren wéi een Zougang zu engem Remote Linux Server iwwer e Spronghost kritt an och mir konfiguréieren déi néideg Astellungen an Äre Per-Benotzer SSH Client Konfiguratiounen.

Betruecht de folgende Szenario.

Am uewe Szenario wëllt Dir mat HOST 2 verbannen, awer Dir musst duerch HOST 1 goen, wéinst Firewalling, Routing an Zougangsprivilegien. Et gëtt eng Zuel vu gültege Grënn firwat Jumphosts gebraucht ginn.

Dynamesch Jumphost Lëscht

Deen einfachste Wee fir mat engem Zilserver iwwer e Spronghost ze verbannen ass de -J Fändel vun der Kommandozeil ze benotzen. Dëst erzielt ssh fir eng Verbindung mam Spronghost ze maachen an dann en TCP Forwarding op den Zilserver opzebauen, vun do aus (vergewëssert Iech datt Dir Passwuertlos SSH Login tëscht Maschinnen hutt).

$ ssh -J host1 host2

Wann Benotzernimm oder Ports op Maschinnen ënnerscheeden, spezifizéiert se um Terminal wéi gewisen.

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

Multiple Jumphosts Lëscht

Déi selwecht Syntax ka benotzt ginn fir Spréng iwwer verschidde Serveren ze maachen.

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

Statesch Jumphost Lëscht

Statesch jumphost Lëscht heescht, datt Dir de jumphost oder jumphosts kennt, datt Dir eng Maschinn ze konnektéieren brauchen. Dofir musst Dir déi folgend statesch Jumphost 'Routing' an ~/.ssh/config Datei addéieren an d'Host Aliasen spezifizéieren wéi gewisen.

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

Probéiert elo mat engem Zilserver iwwer e Spronghost ze verbannen wéi gewisen.

$ ssh -J vps1 contabo

Déi zweet Method ass d'Optioun ProxyCommand ze benotzen fir d'Jumphost Konfiguratioun an Ärem ~.ssh/config oder $HOME/.ssh/config Datei ze addéieren wéi gewisen.

An dësem Beispill ass den Zilhost contabo an de Jumphost ass 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

Wou de Kommando Proxy Kommando ssh -q -W %h:%p vps1 heescht ssh am rouege Modus lafen (benotzt -q) an am stdio Forwarding (benotzt -W) Modus, redirect d'Verbindung duerch en Zwëschenhost (vps1).

Da probéiert Zougang zu Ärem Zilhost wéi gewisen.

$ ssh contabo

Deen uewe genannte Kommando öffnet als éischt eng ssh Verbindung op vps1 am Hannergrond ausgefouert vum ProxyCommand, an duerno fänkt d'ssh Sessioun op den Zilserver Contabo un.

Fir méi Informatioun, kuckt d'ssh Man Säit oder kuckt op: OpenSSH/Cookbxook/Proxies a Jump Hosts.

Dat ass alles fir elo! An dësem Artikel hu mir bewisen wéi een Zougang zu engem Fernserver iwwer e Spronghost kritt. Benotzt de Feedbackformular hei ënnen fir Froen ze stellen oder Är Gedanken mat eis ze deelen.