Ssh Jumphost: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 19: Zeile 19:
 
*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.
 
*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=
 
=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
 
<pre>
 
<pre>
DATEI ~/.ssh/config
+
Host ns
### Erster Jumphost. Direkt erreichbar
+
Hostname 10.88.100.21
Host betajump
+
  User xinux
  Hostname jumphost1.example.org
+
ProxyJump xinux@192.168.6.100
   
 
### Host, zu dem über jumphost1.example.org gesprungen werden soll
 
Host behindbeta
 
  Hostname behindbeta.example.org
 
  ProxyJump betajump
 
 
</pre>
 
</pre>
  
 
=Verwendungszweck=
 
=Verwendungszweck=
*ssh behindalpha
+
*ssh ns
 
Wenn sich die Benutzernamen auf den Computern unterscheiden, geben Sie sie durch Ändern der entsprechenden ProxyJump-Zeile an:
 
Wenn sich die Benutzernamen auf den Computern unterscheiden, geben Sie sie durch Ändern der entsprechenden ProxyJump-Zeile an:
 +
 
=Ändern Sie den Korrespondenten ProxyCommand=
 
=Ändern Sie den Korrespondenten ProxyCommand=
 
<pre>
 
<pre>
 
~/.ssh/config
 
~/.ssh/config
 
ProxyJump otheruser@behindalpha
 
ProxyJump otheruser@behindalpha
<pre>
+
</pre>
 
=Es funktioniert auch mit dem Befehl scp=
 
=Es funktioniert auch mit dem Befehl scp=
 
*scp Dateiname hinteralphabeta:~/
 
*scp Dateiname hinteralphabeta:~/
Zeile 61: Zeile 62:
 
   ProxyJump betajump
 
   ProxyJump betajump
 
</pre>
 
</pre>
 +
 
=Quellen=
 
=Quellen=
 
*https://wiki.gentoo.org/wiki/SSH_jump_host
 
*https://wiki.gentoo.org/wiki/SSH_jump_host

Aktuelle Version vom 21. Februar 2023, 16:05 Uhr

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

Quellen