Zugriff auf einen Remote-Server mithilfe eines Jump-Hosts

Ein Jump-Host (auch als Jump-Server bezeichnet) ist ein Zwischenhost oder ein SSH-Gateway zu einem Remote-Netzwerk, über das eine Verbindung zu einem anderen Host in einer anderen Sicherheitszone hergestellt werden kann, z. B. einer demilitarisierten Zone (DMZ). Es überbrückt zwei unterschiedliche Sicherheitszonen und bietet kontrollierten Zugang zwischen ihnen.

Ein Jump-Host sollte in hohem Maße gesichert und überwacht werden, insbesondere wenn er ein privates Netzwerk und eine DMZ mit Servern umfasst, die Dienste für Benutzer im Internet bereitstellen.

Ein klassisches Szenario ist die Verbindung von Ihrem Desktop oder Laptop aus dem internen Netzwerk Ihres Unternehmens, das mit Firewalls hochsicher ist, zu einer DMZ. Um einen Server in einer DMZ einfach zu verwalten, können Sie über einen Jump Host darauf zugreifen.

In diesem Artikel zeigen wir Ihnen, wie Sie über einen Jump-Host auf einen Remote-Linux-Server zugreifen und die erforderlichen Einstellungen in Ihren SSH-Client-Konfigurationen pro Benutzer konfigurieren.

Betrachten Sie das folgende Szenario.

 SSH Jump Host
SSH Jump Host

Im obigen Szenario möchten Sie eine Verbindung zu HOST 2 herstellen, müssen jedoch aufgrund von Firewalling-, Routing- und Zugriffsrechten HOST 1 durchlaufen. Es gibt eine Reihe von triftigen Gründen, warum Jumphosts benötigt werden..

Dynamische Jumphost-Liste

Die einfachste Möglichkeit, über einen Jump-Host eine Verbindung zu einem Zielserver herzustellen, besteht darin, das Flag -J in der Befehlszeile zu verwenden. Dadurch wird ssh angewiesen, eine Verbindung zum Jump-Host herzustellen und von dort aus eine TCP-Weiterleitung zum Zielserver herzustellen (stellen Sie sicher, dass Sie sich ohne Passwort zwischen den Computern anmelden).

$ ssh -J host1 host2

Wenn sich die Benutzernamen oder Ports auf Computern unterscheiden, geben Sie sie wie gezeigt am Terminal an.

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

Liste mehrerer Jumphosts

Die gleiche Syntax kann verwendet werden, um Sprünge über mehrere Server durchzuführen.

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

Statische Jumphost-Liste

Statische Jumphost-Liste bedeutet, dass Sie die Jumphost oder Jumphosts kennen, die Sie zum Anschließen einer Maschine benötigen. Daher müssen Sie den folgenden statischen Jumphost ‚routing‘ in der Datei ~/.ssh/config hinzufügen und die Host-Aliase wie gezeigt angeben.

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

Versuchen Sie nun, sich wie gezeigt über einen Jump-Host mit einem Zielserver zu verbinden.

$ ssh -J vps1 contabo
 Anmeldung am Zielhost über Jumphost
Anmeldung am Zielhost über Jumphost

Die zweite Methode besteht darin, die Option ProxyCommand zu verwenden, um die Jumphost-Konfiguration wie gezeigt in Ihre Datei ~.ssh/config oder $HOME/.ssh/config einzufügen.

In diesem Beispiel ist der Zielhost contabo und der 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

Wobei der Befehl Proxy Command ssh -q -W %h:%p vps1 bedeutet Führen Sie ssh im stillen Modus (mit -q) und im stdio-Weiterleitungsmodus (mit -W) aus und leiten Sie die Verbindung über einen Zwischenhost (vps1) um.

Versuchen Sie dann, wie gezeigt auf Ihren Zielhost zuzugreifen.

$ ssh contabo

Der obige Befehl öffnet zuerst eine SSH-Verbindung zu vps1 im Hintergrund, die durch den Proxybefehl bewirkt wird, und startet danach die SSH-Sitzung zum Zielserver contabo.

Weitere Informationen finden Sie auf der ssh-Manpage oder unter: OpenSSH/Cookbxook/Proxies and Jump Hosts.

Das ist alles für jetzt! In diesem Artikel haben wir gezeigt, wie Sie über einen Jump-Host auf einen Remote-Server zugreifen können. Verwenden Sie das Feedback-Formular unten, um Fragen zu stellen oder Ihre Gedanken mit uns zu teilen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.