SSH Basics
HPC: OMNI
Wichtiger Hinweis: Seit dem 21.07.2026 ist keine Anmeldung am Cluster mehr mit einem Passwort möglich.
Die Verbindung zum Cluster wird in der Regel über das SSH-Protokoll (Secure Shell) hergestellt. SSH ermöglicht eine verschlüsselte und sichere Verbindung zu einem entfernten Computer, beispielsweise zu einem Cluster.
Der benötigte SSH-Client ist auf den gängigen Betriebssystemen bereits verfügbar:
| Betriebssystem | Programm | SSH-Befehl |
|---|---|---|
| Linux | Terminal | ssh |
| macOS | Terminal | ssh |
| Windows | PowerShell | ssh |
| Windows | Eingabeaufforderung (CMD) | ssh |
Eine Verbindung kann beispielsweise mit folgendem Befehl hergestellt werden:
ssh benutzername@serveradresseUnter Linux und macOS ist der OpenSSH-Client standardmäßig installiert. Auch aktuelle Windows-Versionen verfügen über einen integrierten OpenSSH-Client. Dadurch können Sie eine SSH-Verbindung direkt über das Terminal, die Eingabeaufforderung oder PowerShell herstellen.
Alternativ können grafische SSH-Programme wie PuTTY oder MobaXterm verwendet werden. Die Verwendung dieser Programme wird in dieser Anleitung jedoch nicht behandelt.
Achtung: Ihr Nutzeraccount muss für die Nutzung des HPC-Systems freigeschaltet sein. Ohne eine entsprechende Freischaltung ist keine Verbindung zum Cluster möglich.
Weitere Möglichkeiten von SSH
SSH kann nicht nur für die Anmeldung am Cluster verwendet werden. Es bietet unter anderem folgende Möglichkeiten:
- Übertragung von Dateien: Mit
scp(Secure Copy) odersftpkönnen Dateien sicher zwischen dem lokalen Computer und dem Cluster übertragen werden. - Port-Weiterleitungen: Über SSH können Netzwerkverbindungen sicher weitergeleitet werden.
- Ausführung grafischer Anwendungen: Unter bestimmten Voraussetzungen können auch Programme mit grafischer Benutzeroberfläche auf dem Cluster ausgeführt werden. Dabei wird das Fenster der Anwendung auf dem lokalen Computer angezeigt.
Standardmäßig können Sie über eine SSH-Verbindung Programme ausführen, die ausschließlich über die Kommandozeile bedient werden. Für grafische Anwendungen ist eine zusätzliche Konfiguration erforderlich.
Wenn Sie grafische Programme auf dem Cluster ausführen möchten, muss auf Ihrem lokalen Computer ein entsprechender X-Server zur Verfügung stehen. Außerdem muss die SSH-Verbindung so konfiguriert sein, dass die grafische Ausgabe weitergeleitet wird. Ob und wie dies funktioniert, hängt vom verwendeten Betriebssystem ab.
SSH-Key erzeugen
Ein SSH-Schlüsselpaar besteht aus zwei zusammengehörigen Schlüsseln:
- Privater Schlüssel: Dieser Schlüssel bleibt ausschließlich auf Ihrem eigenen Computer und darf nicht weitergegeben werden.
- Öffentlicher Schlüssel: Dieser Schlüssel wird beim SSH-Management-Tool hinterlegt und kann problemlos weitergegeben werden.
Mit einem SSH-Schlüsselpaar können Sie sich sicher am Cluster anmelden, ohne bei jeder Verbindung ein Passwort für den Cluster eingeben zu müssen.
1. SSH-Schlüsselpaar erstellen
Öffnen Sie auf Ihrem lokalen Computer ein Terminal und führen Sie folgenden Befehl aus:
ssh-keygenBei aktuellen OpenSSH-Versionen wird dabei standardmäßig ein Ed25519-Schlüsselpaar erstellt.
Die Schlüssel werden standardmäßig im Verzeichnis .ssh in Ihrem persönlichen Home-Verzeichnis gespeichert:
| Datei | Bedeutung |
|---|---|
~/.ssh/id_ed25519 |
Privater Schlüssel – geheim halten und niemals weitergeben |
~/.ssh/id_ed25519.pub |
Öffentlicher Schlüssel – wird beim SSH-Management-Tool hinterlegt |
Wenn Sie bei der Abfrage nach dem Speicherort einfach die Eingabetaste drücken, werden die vorgeschlagenen Standardeinstellungen verwendet.
Wenn bereits ein Schlüsselpaar mit diesem Namen vorhanden ist, erhalten Sie eine entsprechende Warnung. Sie können dann entweder das bestehende Schlüsselpaar verwenden oder einen anderen Dateinamen für das neue Schlüsselpaar angeben.
Wichtig: Überschreiben Sie einen bereits vorhandenen privaten Schlüssel nicht, wenn Sie ihn noch für andere Systeme verwenden.
2. Passphrase festlegen
Bei der Erstellung des Schlüsselpaares werden Sie gefragt, ob Sie den privaten Schlüssel mit einer Passphrase schützen möchten.
Es wird empfohlen, eine Passphrase zu vergeben. Sie schützt Ihren privaten Schlüssel zusätzlich, falls jemand Zugriff auf Ihren Computer oder die Schlüsseldatei erhält.
Die Passphrase ist nicht das Passwort für den Cluster. Sie schützt lediglich Ihren privaten Schlüssel.
Wenn Sie eine Passphrase verwenden, kann diese je nach Konfiguration durch einen SSH-Agenten zwischengespeichert werden. Dadurch müssen Sie die Passphrase nicht bei jeder SSH-Verbindung erneut eingeben.
3. Öffentlichen Schlüssel hochladen
Nach der Erstellung des Schlüsselpaares müssen Sie Ihren öffentlichen Schlüssel beim SSH-Management-Tool hinterlegen.
Der öffentliche Schlüssel befindet sich standardmäßig in der Datei:
~/.ssh/id_ed25519.pubAchtung: Laden Sie ausschließlich den öffentlichen Schlüssel (id_ed25519.pub) hoch. Ihren privaten Schlüssel (id_ed25519) dürfen Sie niemals hochladen oder an andere Personen weitergeben.
- Öffnen Sie das SSH-Management-Tool und melden Sie sich mit Ihrer Uni-Benutzerkennung (z.B. ms149425, gk123, u534622 ohne Domain @uni-siegen.de) an.
- Wählen Sie den Menüpunkt „SSH-Schlüssel verwalten“ aus.
- Öffnen Sie Ihre Datei
id_ed25519.pubbeispielsweise mit einem Texteditor und kopieren Sie den gesamten Inhalt. - Fügen Sie den Inhalt Ihrer Datei
id_ed25519.pubin das dafür vorgesehene Feld ein. - Wählen Sie aus, ob Sie den neuen Schlüssel hinzufügen oder alle bisher hinterlegten Schlüssel ersetzen möchten.
- Hinzufügen: Der neue Schlüssel wird zusätzlich zu bereits vorhandenen Schlüsseln hinterlegt.
- Alle Schlüssel ersetzen: Die bisher hinterlegten Schlüssel werden durch den neuen Schlüssel ersetzt.
- Klicken Sie auf „SSH-Schlüssel speichern“.
Damit ist die Einrichtung abgeschlossen. Sie können sich anschließend mit Ihrem SSH-Schlüssel am Cluster anmelden.
Mehrere SSH-Schlüssel verwenden
Sie können mehrere SSH-Schlüssel verwenden. Dies ist beispielsweise sinnvoll, wenn Sie sich von mehreren Computern aus mit dem Cluster verbinden möchten.
Für jeden Computer können Sie ein eigenes Schlüsselpaar erstellen und den jeweiligen öffentlichen Schlüssel beim SSH-Management-Tool hinterlegen. So können Sie beispielsweise einen Schlüssel für Ihren Arbeitsplatzrechner und einen weiteren für Ihren Laptop verwenden.
Die Schlüssel können dabei unterschiedliche Namen haben, beispielsweise:
~/.ssh/id_ed25519
~/.ssh/id_ed25519.pubund
~/.ssh/id_ed25519_laptop
~/.ssh/id_ed25519_laptop.pubWenn Sie mehrere Schlüssel verwenden, kann SSH über die Konfigurationsdatei ~/.ssh/config so eingerichtet werden, dass für den Cluster automatisch der richtige Schlüssel verwendet wird.
Sicherheit des privaten Schlüssels
Der private Schlüssel ist der wichtigste Bestandteil Ihres SSH-Schlüsselpaares. Er muss immer auf Ihrem eigenen Computer bleiben und darf niemals an andere Personen weitergegeben werden.
Insbesondere dürfen Sie die Datei
~/.ssh/id_ed25519niemals hochladen oder per E-Mail, Chat oder über andere unsichere Wege weitergeben.
Nur die Datei
~/.ssh/id_ed25519.pubwird beim SSH-Management-Tool hinterlegt.
SSH-Key einrichten
Nachdem Sie Ihr SSH-Schlüsselpaar erstellt haben, muss der öffentliche Schlüssel im SSH-Management-Tool hinterlegt werden.
- Öffnen Sie das SSH-Management-Tool und melden Sie sich mit Ihrer Uni-Benutzerkennung (z.B. ms149425, gk123, u534622 ohne Domain @uni-siegen.de) an.
- Wählen Sie den Menüpunkt „SSH-Schlüssel verwalten“ aus.
- Fügen Sie den Inhalt Ihrer Datei
id_ed25519.pubin das dafür vorgesehene Feld ein. - Wählen Sie aus, ob Sie den neuen Schlüssel hinzufügen oder alle bisher hinterlegten Schlüssel ersetzen möchten.
- Hinzufügen: Der neue Schlüssel wird zusätzlich zu bereits vorhandenen Schlüsseln hinterlegt.
- Alle Schlüssel ersetzen: Die bisher hinterlegten Schlüssel werden durch den neuen Schlüssel ersetzt.
- Klicken Sie auf „SSH-Schlüssel speichern“.
Damit ist die Einrichtung abgeschlossen. Sie können sich anschließend mit Ihrem SSH-Schlüssel am Cluster anmelden.
SSH Basics: Verwendung
In der Konsole können Sie eine SSH-Verbindung mit dem Befehl ssh aufbauen:
ssh -X <IhrUsername>@<Cluster-Adresse>X-Unterstützung
Für die X-Unterstützung müssen Sie die SSH-Verbindung mit -X starten:
ssh -X <IhrUsername>@<Cluster-Adresse>Die alternative Option -Y funktioniert fast identisch. Der Unterschied besteht darin, dass die Verbindung als “Trusted” betrachtet wird, das heißt es werden weniger Sicherheitschecks durchgeführt. Dies ist nur empfohlen, wenn ein Programm mit -X nicht läuft.
Konfiguration von SSH-Verbindungen
Sie können Ihre SSH-Verbindung zum Cluster vorkonfigurieren und müssen dann nicht jedes Mal den obigen SSH-Aufruf komplett eingeben. Dazu öffnen Sie auf Ihrem lokalen Rechner die Datei <Ihr Home-Verzeichnis>/.ssh/config mit einem Texteditor und geben ein:
host omni
HostName <Cluster-Adresse, aus Sicherheitsgründen hier nicht angezeigt>
User <Ihr Username>
ForwardX11 yesDie oberste Zeile ist der Name Ihres Kürzels. Sie können einen beliebigen Namen vergeben, in diesem Beispiel omni. In der Zeile User muss der Username stehen, mit dem Sie sich auf dem Cluster einloggen. Die Zeile ForwardX11 yes ist optional. Wenn Sie diese Zeile hinzufügen, werden SSH-Verbindungen immer mit X-Unterstützung gestartet. Dies ist identisch zur -X-Option, das Äquivalent für die -Y-Option wäre ForwardX11Trusted yes. Es gibt noch eine Reihe von anderen Optionen, die auf der OpenSSH-Website beschrieben werden.
Mit dieser Konfiguration können Sie sich per Kurzbefehl auf dem Cluster einloggen:
ssh omniSSH einrichten: MAC OS
In Mac OS können Sie eine Linux-ähnliche Konsole aufrufen, indem Sie in der Spotlight-Suche terminal eingeben oder das Programm iTerm installieren. Für X-Unterstützung muss außerdem die Software XQuartz installiert sein.
Die Einrichtung erfolgt dann wie bei Linux-Systemen. Auch ein passwortloser Zugang ist auf die gleiche Art möglich. Wenn XQuartz installiert ist, muss ein zusätzlicher Schritt durchgeführt werden: in der Datei ~/.ssh/config müssen die folgenden Zeilen hinzugefügt werden:
host *
XAuthLocation /opt/X11/bin/xauthAnschließend funktioniert die X-Unterstützung auf die gleiche Art wie in Linux.
Dateiübertragung
Wenn Sie Dateien zum Cluster oder vom Cluster zu Ihrem eigenen Rechner übertragen möchten, können Sie dies mit der Secure-Copy-Funktion (scp) tun. Wenn Ihr Betriebssystem den Befehl ssh anbietet, steht in der Regel auch scp zur Verfügung.
Die Syntax funktioniert sehr ähnlich wie beim LinuxBefehl cp, mit dem Unterschied, dass Sie bei entfernten Systemen den Computernamen (Hostnamen) und, falls notwendig, andere SSH-Optionen wie Ihren Usernamen angeben müssen:
scp <Quelldateiname> <Zielsystemname>:<Entfernter Pfad>Beispiel:
scp Beispielordner/Beispieldatei.txt IhrUsername@beispielhost.uni-siegen.de:/home/demo_user/Beachten Sie, dass der Pfad der Zieldatei vom Namen des Zielsystems mit einem Doppelpunkt getrennt ist. Dieses Beispiel würde die Quelldatei an den entfernten Pfad kopieren. Wenn Sie eine Datei vom Cluster zu Ihrem PC kopieren wollen, muss die Quelldatei einen Hostnamen vor sich haben (und die weiteren SSH-Optionen). Sie können auch Dateien zwischen zwei entfernten Systemen kopieren, dann muss bei Quell- und Zieldatei ein Hostname davor sein. Wenn Sie als Ziel einen nicht existierenden Dateinamen angeben, wird die Quelldatei unter diesem Dateinamen abgespeichert. Statt eines kompletten Hostnamens können Sie auch ein SSH-Preset verwenden, wie oben im Abschnitt Konfiguration von SSH-Verbindungen beschrieben.
Im Gegensatz zu cp zeigt scp standardmäßig an, wenn eine Datei übertragen wird.
Es ist nicht möglich, scp auf dem Cluster selbst auszuführen, dies hat mit den Firewall-Einstellungen der Uni zu tun. Egal in welcher Richtung Sie Dateien kopieren, Sie müssen scp immer auf Ihrem PC ausführen. Beachten Sie außerdem, dass Sie die Option -r angeben müssen, wenn Sie ganze Ordner mit ihrem Inhalt kopieren wollen, analog zum cp-Befehl. Mit dem Befehl man scp können Sie sich weitere Optionen anzeigen lassen.
Andere Optionen als scp
Außer scp gibt es noch weitere Optionen zur Dateiübertragung. Der Befehl rsync funktioniert ähnlich wie scp, ist ebenfalls auf jedem Linux- und MacOS-System vorhanden und beherrscht komplexere Operationen wie beispielsweise die Wiederaufnahme von Transfers nach Verbindungsabbrüchen.
Zusätzlich gibt es mehrere grafische Clients, die die Dateiübertragung mittels verschiedener Methoden beherrschen. Beispiele sind die bereits beschriebenen Programme MobaXTerm und WinSCP (beide Windows), Filezilla (Windows, Linux), Forklift (Mac OS) sowie der eingebaute Dateibrowser von auf Gnome basierenden Linux-Systemen (z.B. Ubuntu). Hier müssen Sie die jeweilige Dokumentation konsultieren.