So greifen Sie mit einem Jump-Host auf einen Remote-Server zu
EIN Host hüpfen sollte hochsicher sein und überwacht werden, insbesondere wenn es sich über ein privates Netzwerk erstreckt und a DMZ mit Servern, 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 a darauf zugreifen Host hüpfen.
In diesem Artikel wird gezeigt, wie Sie über a auf einen Remote-Linux-Server zugreifen können Host hüpfen Außerdem konfigurieren wir die erforderlichen Einstellungen in Ihren SSH-Client-Konfigurationen pro Benutzer.
Stellen Sie sich das folgende Szenario vor.
![SSH Jump Host](https://www.tecmint.com/wp-content/uploads/2018/11/SSH-Jump-Host.png)
Im obigen Szenario möchten Sie eine Verbindung herstellen Host 2, aber du musst durchgehen GASTGEBER 1, aufgrund von Firewall-, Routing- und Zugriffsrechten. Es gibt eine Reihe gültiger Gründe, warum Jumphosts benötigt werden.
Dynamische Jumphost-Liste
Der einfachste Weg, um über a eine Verbindung zu einem Zielserver herzustellen Host hüpfen benutzt die -J
Flag von der Kommandozeile. 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 zwischen Computern eine kennwortlose SSH-Anmeldung haben).
$ ssh -J host1 host2
Wenn Benutzernamen oder Häfen Wenn sich die Maschinen unterscheiden, geben Sie sie wie gezeigt am Terminal an.
$ ssh -J [email protected]:port [email protected]:port
Liste mit mehreren Jumphosts
Dieselbe Syntax kann verwendet werden, um Sprünge über mehrere Server durchzuführen.
$ ssh -J [email protected]:port,[email protected]:port [email protected]:port
Statische Jumphost-Liste
Statische Jumphost-Liste bedeutet, dass Sie die kennen Jumphost oder Jumphosts dass Sie eine Maschine anschließen müssen. Daher müssen Sie das folgende statische Jumphost-Routing hinzufügen ~/.ssh/config
Datei und geben Sie die Host-Aliase wie gezeigt an.
### 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 contabo
Versuchen Sie nun, über a eine Verbindung zu einem Zielserver herzustellen Host hüpfen wie gezeigt.
$ ssh -J vps1 contabo
![Melden Sie sich über Jumphost beim Zielhost an](https://www.tecmint.com/wp-content/uploads/2018/11/login-into-target-host-via-jumphost.png)
Die zweite Methode ist die Verwendung der ProxyCommand Option zum Hinzufügen der Jumphost Konfiguration in Ihrem ~.ssh/config
oder $HOME/.ssh/config
Datei wie gezeigt.
In diesem Beispiel ist der Zielhost ich zähle und das Jumphost ist 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
Wo der Befehl Proxy Command ssh -q -W %h:%p vps1
bedeutet, ssh im leisen Modus ausführen (mit -q
) und in stdio Weiterleitung (mit -W
) Modus, leiten Sie die Verbindung über einen Zwischenhost um (vps1).
Versuchen Sie dann, wie gezeigt auf Ihren Zielhost zuzugreifen.
$ ssh contabo
Der obige Befehl öffnet zuerst eine SSH-Verbindung zu vps1 im Hintergrund durch die ProxyCommandStarten Sie anschließend die SSH-Sitzung zum Zielserver ich zähle.
Weitere Informationen finden Sie auf der SSH-Manpage oder unter: OpenSSH / Cookbxook / Proxies und 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 unten stehende Feedback-Formular, um Fragen zu stellen oder Ihre Gedanken mit uns zu teilen.