SSH-Jumphost

Service: Das CIT betreibt ein zentrales SSH-Jumphost-Cluster. Dieses bietet die Möglichkeit von außerhalb der Uni auf Universität-interne Systeme per SSH zuzugreifen. Es können sowohl Verbindungen per IPv4 als auch IPv6 genutzt werden.

Zielgruppe: Studierende, Beschäftigte

Nutzungskosten: kostenlos

Kontakt: Hotline

  • Anleitung

    1. Vorbereitung

    Für die Benutzung des Dienstes muss ein SSH-Schlüsselpaar erzeugt werden. Anforderungen an den Schlüssel sind: Schlüsseltyp RSA mit Schlüssellänge mindestens 3072 (besser 4096) oder Schlüsseltyp Ed25519 oder Schlüsseltyp ECDSA mit Schlüssellänge mindestens 256 (besser 384 oder 521). Nicht alle Typen werden von jeder Soft- und Hardware unterstützt. Wir empfehlen ECDSA 384, ersatzweise RSA 4096.

    Öffnen Sie das Terminal und geben Sie den folgenden Befehl ein, um das Schlüsselpaar mit den empfohlenen Einstellungen zu erstellen.
    ssh-keygen -t ecdsa -b 384
    oder
    ssh-keygen -t rsa -b 4096

    Bestätigen Sie dies mit Enter. Anschließend wählen Sie zum Schutz Ihres privaten Schlüssels bitte unbedingt ein gutes Passwort (nicht Ihr Uni- oder Netzzugangspasswort).
     

    © Uni MS IT

    2. Gespeicherte Schlüssel lokalisieren

    Die generierte Datei befindet sich im versteckten Ordner /.ssh in Ihrem Benutzerordner. Je nach Schlüsseltyp heißen die Dateien 4096id_ecdsa oder id_rsa oder id_ed25519. Aktivieren Sie ggf. die Anzeige von versteckten Ordnern und Dateien, um den Ordner sichtbar zu machen.

    2. Gespeicherte Schlüssel lokalisieren
    © Uni MS IT

    3. Upload des Schlüssels

    Der öffentliche Teil des gerade erzeugten Schlüssels (die erzeugte .pub-Datei) muss nun im IT-Portal https://sso.uni-muenster.de/IT-Portal/ hochgeladen werden. Navigieren Sie dazu zu „Passwörter und PINs“ / „Öffentliche SSH-Schlüssel“ und klicken auf Browse und wählen die .pub Datei aus. Falls Sie die Zwei-Faktor-Authentifizierung aktiviert haben, müssen Sie zusätzlich noch die 6-stellige Codezahl, die Ihnen soeben per SMS zugeschickt wurde, eingeben. Drücken Sie nun auf den Button zum Hinterlegen des öffentlichen Schlüssels.

    3. Upload des Schlüssels
    © Uni MS IT

    4.1 SSH-Status auf dem Zielsystem prüfen (nur Administratoren)

    Überprüfen Sie, ob der SSH-Service auf Ihrem Gerät aktuell läuft. Geben Sie dazu folgenden Befehl ein:

    sudo systemctl status ssh
    (Debian/Ubuntu) oder (CentOS/RHEL/Fedora)
    sudo systemctl status sshd

    Das Terminal sollte Active zurückgeben, andernfalls starten Sie den Service mit

    sudo systemctl start ssh.service
    (Debian/Ubuntu) oder (CentOS/RHEL/Fedora)
    sudo systemctl start sshd.service

    und überprüfen mit dem ersten Befehl erneut den Status des Services.
     

    4.1 SSH-Status auf dem Zielsystem prüfen (nur Administratoren)
    © Uni MS IT

    4.2 Freigabe der SSH-Jumphosts in der Firewall des Zielsystems (nur Administratoren)

    Für das System, das per SSH erreicht werden soll, müssen die beiden folgenden Adressen der SSH-Jumphosts mittels einer Ausnahmeregel in der Firewall des Zielsystems für den TCP-Port 22 (Standardmäßiger Port für SSH) eingetragen und in den Netzwerk-ACLs freigegeben werden.
     

    • sshjump1.uni-muenster.de (128.176.11.120, 2001:4cf0:2:4020:250:56ff:feae:3904)
    • sshjump2.uni-muenster.de (128.176.11.121, 2001:4cf0:2:4020:250:56ff:feae:174b)

    4.2 Freigabe der SSH-Jumphosts in der Firewall des Zielsystems (nur Administratoren)
    © Uni MS IT

    5.1 Verwendung von SSH

    Sie können das Zielsystem entweder per Loadbalancer oder explizit mit den beiden oben genannten Adressen erreichen. Geben Sie dafür folgenden Befehl ein und ersetzen die Platzhalter
     

    • – account1, für den der öffentliche Teil des Schlüssels im IT-Portal hochgeladen wurde
    • – account2, für den der öffentliche Teil des Schlüssels in der authorized_keys Datei auf dem Zielsystem hinterlegt ist.

    ssh -J account1@sshjump.uni-muenster.de
    account2@zielsystem
     

    5.1 Verwendung von SSH
    © Uni MS IT

    5.2 Erweiterte Verwendung von SSH

    Viele SSH-Impementierungen testen alle vorhandenen Identity-Files, so dass auf dem Jumphost und dem Zielsystem unterschiedliche Schlüssel verwendet werden können. Es können aber auch die IP-Protokolle und die Identität explizit angegeben werden.
    Verwenden Sie für die explizite Identität die Option „-o IdentitiesOnly=yes“ und geben die dazugehörige Datei mit „-i“ an. Das Protokoll legen Sie mit „-4“ für IPv4 bzw. „-6“ für IPv6 fest.

    ssh [-o IdentitiesOnly=yes][-i identityFile]
    [-4|-6] -J account1@sshjump.uni-muenster.de
    [-4|-6] account2@zielsystem

    6. Verwendung Daten-Transfer

    Neuere SSH-Versionen:
    scp -J account1@sshjump.uni-muenster.de
    datei account2@zielsystem:datei

    sftp -J account1@sshjump.uni-muenster.de
    account2@zielsystem


    Ältere SSH-Versionen:
    scp -o ProxyJump=account1@sshjump.uni-muenster.de
    datei account2@zielsystem:datei

    sftp -o ProxyJump=account1@sshjump.uni-muenster.de
    account2@zielsystem