Ssh Jumphost
Zur Navigation springen
Zur Suche springen
SSH-Jump-Host
- Eine Alternative zum SSH-Tunneling für den Zugriff auf interne Maschinen über ein Gateway ist die Verwendung von Jump-Hosts.
- Die Idee ist, ProxyCommand zu verwenden, um den ssh-Befehl auf dem Remote-Host automatisch auszuführen*
- Damit wurd zum nächsten Host zu gesprungen und den gesamten Datenverkehr weiterzuleiten.
Voraussetzungen
- SSH-Zugriff auf den Gateway-Rechner und den internen.
- Auf dem Gateway-Computer ist Netcat installiert.
Dynamische Jumphost-Liste
- Sie können die Option -J verwenden, um durch einen Host zu springen:
- ssh -J host1 host2
Wenn sich Benutzernamen oder Ports auf Maschinen unterscheiden, geben Sie sie an
- ssh -J user1@host1:port1 user2@host2 -p port2
Mehrere Sprünge
Die gleiche Syntax kann verwendet werden, um Sprünge über mehrere Maschinen zu machen:
- ssh -J user1@host1:port1,user2@host2:port2 user3@host3
Statische Jumphost-Liste
- Statische Jumphost-Liste bedeutet, dass Sie den oder die Jumphosts kennen, die Sie benötigen, um einen Host zu erreichen.
- Daher können Sie in der Datei ~/.ssh/config ein statisches Jumphost-Routing erstellen.
- Der Vorteil im Vergleich zur dynamischen Jumphost-Option besteht darin, dass Sie die .ssh-Konfiguration auf Jumphosts zwischen Ihrem Computer und allen anderen Jumphosts zwischen Ihnen und dem endgültigen Host, zu dem Sie springen möchten, nicht bereitstellen müssen.
ProxyJump-Beispiel
- Der Host ns Eintrag ist der Zielhost
- Hostname die IP
- User xinux der Login Name auf dem Ziel
- xinux@192.168.6.100 - Der Host über den wir springen
- cat ~/.ssh/config
Host ns Hostname 10.88.100.21 User xinux ProxyJump xinux@192.168.6.100
Verwendungszweck
- ssh ns
Wenn sich die Benutzernamen auf den Computern unterscheiden, geben Sie sie durch Ändern der entsprechenden ProxyJump-Zeile an:
Ändern Sie den Korrespondenten ProxyCommand
~/.ssh/config ProxyJump otheruser@behindalpha
Es funktioniert auch mit dem Befehl scp
- scp Dateiname hinteralphabeta:~/
- Der Doppelpunkt und der Pfad am Ende werden benötigt, damit scp es als entfernt erkennt.
Mehrere Sprünge
- Die gleiche Syntax kann verwendet werden, um Sprünge über mehrere Maschinen zu machen
Diesen Text hinzufügen
~/.ssh/config ### Erster Jumphost. Direkt erreichbar Host alphajump Hostname jumphost1.example.org ### Zweiter Jumphost. Nur erreichbar über jumphost1.example.org Host betajump Hostname jumphost2.example.org ProxyJump alphajump ### Host nur über Alphajump und Betajump erreichbar Host behindalphabeta Hostname behindalphabeta.example.org ProxyJump betajump