IT-Service: SSH-Jump-Hosts (lxlogin.gsi.de)

Schnelleinstieg

Bei Jump-Hosts handelt es sich Maschinen, die speziell auf die Weiterleitung von Netzwerkverkehr zwischen verschiedenen Sicherheitszonen ausgelegt sind. Maschinen dieses Services leiten SSH-Verkehr weiter.

An der GSI ermöglichen diese Hosts allen Benutzer*innen mit einem Linux-Konto den Zugriff vom Internet auf das interne Netzwerk. Sie besitzen eine minimale Konfiguration, was Sicherheitsrisiken minimiert und die Leistung verbessert.

Service-Beschreibung

Jump-Hosts können auf folgende Arten genutzt werden. Mehr Informationen über SSH-Verbindungen finden Sie unter Fernzugriff auf Linux-Maschinen.

  • Als minimaler Login-Host:
    ssh konto@lxlogin.gsi.de
  • Als Jump-Host, um eine interne Maschine zu erreichen:
    ssh -J konto@lxlogin.gsi.de konto@ziel.gsi.de
    Z.B. ssh -J konto@lxlogin.gsi.de konto@lx-pool.gsi.de
  • Für lokale Port-Weiterleitung:
    ssh -L lokaler_port:ziel.gsi.de:ziel_port konto@lxlogin.gsi.de
  • Für andere Anwendungszwecke (z.B. Dateizugriff), siehe die Akkordion-Abschnitte weiter unten

Wenn Sie sich das erste Mal verbinden, werden Sie gefragt, ob Sie dem SSH-Fingerabdruck vertrauen. Bitte schauen Sie unter Linux-Poolmaschinen nach, ob dieser korrekt ist.

Maschinen dieses Services haben eine minimale Konfiguration für einen eingeschränkten Zweck. Daher ist nur eine minimale Liste an Software vorhanden. Es ist keine grafische Oberfläche verfügbar, ferner gibt keinen Zugriff auf zentrale Heimatverzeichnisse (/u/konto). Bei der Anmeldung erhalten Sie ein neues Verzeichnis, welches beim Beenden der Sitzung wieder gelöscht wird.

Nutzen Sie Ihren GSI-Linux-Konto um sich an den Maschinen anzumelden. Sie können einen SSH-Schlüssel statt des Passwortes verwenden, obwohl die Maschinen keine zentralen Heimatverzeichnisse einbinden. Die Schlüssel werden jede halbe Stunde von allen zentralen Heimatverzeichnissen (.ssh/authorized_keys) geladen und den Jump-Hosts zur Verfügung gestellt.

Der Pool ist hochverfügbar. Das bedeutet, dass Sie sich bei einem Verbindungsabbruch, wegen einer fehlerhaften Maschine, sofort wieder verbinden können. Bitte sehen Sie sich die Anleitung unter Fernzugriff auf Linux-Maschinen an, um zu sehen, wie dieser Prozess automatisiert werden kann.

Alle Maschinen im Pool werden jeden Montag um 1 Uhr morgens nacheinander neu gestartet. Offene Verbindungen werden zu diesem Zeitpunkt getrennt. Der Pool ist aber durchgängig verfügbar.

Um lxlogin.gsi.de dauerhaft als Jump-Host zu verwenden ohne dies bei jedem Kommando angeben zu müssen, können folgende Einstellungen in die ~/.ssh/config auf dem zugreifenden Client eingetragen werden.

Host lxlogin.gsi.de
  # benötigt, um ProxyJump-Schleifen zu vermeiden
  ProxyJump none  

Host *.gsi.de
  ProxyJump lxlogin.gsi.de
  User konto # optional; konto ersetzen

Die Option User hilft dabei SSH-Befehle noch kürzer zu halten. Mit dieser Konfiguration reicht ssh %target%.gsi.de aus, um sich aus dem Internet an einer internen Maschine anzumelden.

Diese Einstellung sollte nicht auf Mobilcomputern verwendet werden, die regelmäßig im GSI-Netzwerk verwendet oder per VPN verbunden werden..

Mit dem Bitvise SSH Client ist die Verbindung über lxlogin.gsi.de in zwei Schritten möglich.

  1. Erstellen Sie ein Profil mit dem Host "lxlogin.gsi.de" und Ihrem GSI-Linux-Kontonamen. Stellen Sie unter Proxy settings sicher, dass Use Proxy deaktiviert ist. Dies sollte der Fall sein, wenn Use global proxy settings aktiviert ist. Speichern Sie das Profil, z.B. als "lxlogin.gsi.de.tlp".
  2. Erstellen Sie ein zweites Profil mit dem Zielhost, z.B. "lx-pool.gsi.de" und Ihrem GSI-Linux-Kontonamen. Speichern Sie das Profil, z.B. als "lx-pool.gsi.de.tlp". Klicken Sie unter Proxy settings auf Use profile proxy settings (nur auswählbar, nachdem das Profil gespeichert wurde) und aktivieren Sie Use proxy. Wählen Sie SSH als Proxy-Typ aus und klicken Sie auf Profile file. Suchen Sie nach dem zuvor erstellten Profil (lxlogin.gsi.de.tlp). Speichern Sie das Profil erneut.

Jetzt nutzt Ihr zweites Profil Ihr erstes als Jump-Host, womit Sie sich aus dem Internet verbinden können.

Wenn Sie sich mit einer Windows-Maschine mit RDP über lxlogin.gsi.de anmelden möchten, schauen Sie bitte unter SSH-Tunnel für Windows.

Konfigurieren Sie PuTTY wie normal, öffnen Sie dann aber die Seite Proxy. Stellen Sie dort Proxy type auf "SSH to proxy and use port forwarding" (verfügbar seit Version 0.77), Proxy hostname auf "lxlogin.gsi.de" und Port auf "22". Optional können Sie Ihr GSI-Linux-Konto unter Username eintragen.

Für scp können Sie die SSH-Option ProxyJump setzen (Abkürzung -J).

scp -J konto@lxlogin.gsi.de konto@ziel.gsi.de:quelle ziel
scp -o ProxyJump=konto@lxlogin.gsi.de konto@ziel.gsi.de:quelle ziel

Zum Einhängen eines Dateisystems an der GSI von außerhalb können Sie sshfs mit der Option ProxyJump verwenden.

sshfs -o ProxyJump=konto@lxlogin.gsi.de konto@ziel.gsi.de:quelle einhängepunkt

Bspw. können Sie damit Lustre auf ~/lustre einhängen:

sshfs -o ProxyJump=konto@lxlogin.gsi.de konto@files.hpc.gsi.de:/lustre ~/lustre

Zur Umleitung von TCP-Verkehr zu internen Maschinen aus dem Internet (einfaches VPN) können Sie sshuttle verwenden.

sshuttle -r konto@lxlogin.gsi.de ziel.gsi.de

Um lxlogin.gsi.de zu verwenden, um mit WinSCP interne Maschinen zu erreichen öffnen Sie die Tunnel-Einstellungen. Aktivieren Sie Connect through SSH tunnel und geben Sie "lxlogin.gsi.de" in das Feld Host name ein. Für Benutzername und Passwort geben Sie Ihre GSI-Linux-Kontodaten ein.

Verfügbarkeit und Support