Wiss. Rechnen » Verbinden
 

Verbindungen zum Cluster werden in der Regel mittels des SSH-Protokolls hergestellt. Linux und Mac OS X unterstützen dieses Protokoll standardmäßig, für Windows gibt es mehrere Programme, die eine SSH-Verbindung ermöglichen. Zum Übertragen von Dateien gibt es außerdem unter anderem die Secure-Copy-Funktion (scp). Auch Fenster zu öffnen ist möglich, wenn die Verbindung und Ihr System dafür eingerichtet sind.

Die Adresse des Clusters wird Ihnen bei der Einrichtung eines Accounts per E-Mail mitgeteilt. Sie erreichen ihn also zum Beispiel mittels

$ ssh <IhrUsername>@<Cluster-Adresse>

Diese Seite enthält detaillierte Informationen zum Aufbau einer SSH-Verbindung, sowohl unter Linux als auch Mac OS sowie Windows.

Die Authentifizierung beim Anmelden auf dem Cluster erfolgt durch Eingabe von Username und Passwort (dies ist dasselbe Passwort wie bei den anderen Diensten der Uni wie z.B. Webmail). Es lässt sich aber auch ein Public-/Private-Key-Paar einrichten, sodass von einem Rechner die Verbindung zum Cluster ohne Passworteingabe möglich ist.

Achtung: Ihr Nutzeraccount muss für HPC freigeschaltet sein, damit Sie sich zum Cluster verbinden können.

Standardmäßig können Sie über eine SSH-Verbindung nur konsolenbasierte Programme ausführen. Es ist aber auch möglich, Programme auszuführen, die Fenster öffnen, wenn ein X-Server zur Verfügung steht und die SSH-Verbindung entsprechend konfiguriert ist. Dies is unten beschrieben.

SSH einrichten: Linux

In der Linux-Konsole können Sie eine SSH-Verbindung mit dem Befehl ssh aufbauen.

$ ssh <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 die auf Ihrem lokalen Rechner die Datei <Ihr Home-Verzeichnis>/.ssh/config mit einem Texteditor und geben ein:

host horus 
 HostName <Cluster-Adresse> 
 User <Ihr Username> 
 ForwardX11 yes

Die oberste Zeile ist der Name Ihres Kürzels. Sie können einen beliebigen Namen vergeben, in diesem Beispiel horus. 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 zusätzlich eine Zeile ForwardX11Trusted yes. Es gibt noch weitere Optionen, die unter Umständen nützlich sein können, hier aber nicht weiter beschrieben werden.

Mit dieser Konfiguration können Sie sich auf dem Cluster mit dem Kurzbefehl

$ ssh horus

einloggen.

Passwortloser Zugang

Um sich auf dem Cluster einzuloggen, ohne jedes Mal das Passwort eingeben zu müssen, können Sie sich ein Public/Private-Key-Paar generieren. Diese Funktion ist in SSH bereits eingebaut. Sie müssen dazu folgende Schritte durchführen:

  1. Führen Sie auf Ihrer lokalen Maschine ssh-keygen aus. Dies generiert ein Schlüsselpaar, das standardmäßig die Dateinamen id_rsa (privater Schlüssel) bzw. id_rsa.pub (öffentlicher Schlüssel) hat und im Unterordner .ssh in Ihrem lokalen Home-Verzeichnis steht. Falls bereits ein Schlüsselpaar existiert, bekommen Sie eine Warnmeldung. Sie können dann entweder mit Strg+C abbrechen und einfach das bestehende Schlüsselpaar verwenden, oder einen anderen Pfad bzw. Dateinamen für das neue Schlüsselpaar vergeben.
  2. Sie werden gefragt, ob Sie eine Passphrase vergeben wollen. Dies wäre zwar sicherer, würde aber bedeuten, dass Sie wieder bei jedem Einloggen die Passphrase eingeben müssten. Sie können die Passphrase einfach leerlassen und zweimal Enter drücken.
  3. Anschließend öffnen Sie die Datei id_rsa.pub mit einem Texteditor
  4. Loggen Sie sich auf dem Cluster ein, wechseln Sie in das dortige .ssh-Verzeichnis und öffnen Sie die Datei authorized_keys in einem weiteren Texteditor.
  5. Kopieren Sie den Inhalt von id_rsa.pub in die authorized_keys-Datei.
    Achtung: stellen Sie sicher, dass Sie den öffentlichen (.pub) und nicht versehentlich den privaten Schlüssel kopieren. Ihr privater Schlüssel sollte immer auf Ihrem eigenen Rechner bleiben und Sie sollten ihn mit niemandem teilen.
  6. Speichern Sie authorized_keys ab.
  7. Loggen Sie sich auf dem Cluster aus (mit exit) und wieder ein, um zu testen, ob der Zugang funktioniert.

Tipp: Sie können mehrere Schlüssel-Einträge in authorized_keys abspeichern, wenn Sie sich von mehreren Computern einloggen wollen, die Einträge sollten durch Leerzeilen getrennt sein. Ein Eintrag besteht aus drei, durch Leerzeichen getrennten, Teilen: einem Informationsblock über den verwendeten Verschlüsselungsalgorithmus (normalerweise ssh-rsa), dem eigentlichen Schlüssel und einem optionalen Namen, den Sie selbst vergeben können. Damit behalten Sie den Überblick, welcher Schlüssel welcher ist.

SSH 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/xauth

Anschließend funktioniert die X-Unterstützung auf die gleiche Art wie in Linux.

SSH einrichten: Windows

Unter Windows gibt es eine Reihe von Programmen, die SSH unterstützen. Hier werden die Einrichtung von PuTTY Version 0.70 sowie MobaXTerm Version 10.5 kurz erläutert. Ein reines Kommandozeilenprogramm bietet die Windows-Version von OpenSSH, deren Einrichtung auf der ZIMT-Website beschrieben ist. Es kann aber prinzipiell auch andere Software verwendet werden, solange sie SSH unterstützt.

Putty (und WinSCP)

Um sich mittels Putty zum Cluster zu verbinden, müssen Sie mindestens auf der Konfigurationsseite von Putty im Feld “Host Name” die Adresse eingeben. Die anderen Felder können auf ihren Standardwerten belassen werden. Mit einem Klick auf “Open” kann nun bereits eine Verbindung aufgebaut werden.

Putty Config

Es bietet sich allerdings an, zusätzlich eine Konfiguration für den Cluster abzuspeichern, dann müssen die Informationen nicht jedes Mal neu eingegeben werden. Außerdem können dieselben Features, die oben im Abschnitt über Linux beschrieben wurden (X-Unterstützung, passwortloser Zugang, etc.), konfiguriert werden.

Putty verfügt allerdings über keinen eigenen X-Server. Hierfür muss ein separates Programm wie beispielsweise XMing installiert werden und vor Putty gestartet werden.

Zu diesem Zweck muss im Feld “Saved Sessions” ein Name für die Konfiguration vergeben und mit “Save” bestätigt werden.

Putty-Einstellungen

Das Konfigurationsmenü von Putty weist eine große Menge an Einstellungen auf, die durch Klicken auf Elemente des Baums auf der linken Seite angewählt werden können. Achtung: nach dem Ändern von Putty-Einstellungen muss immer auf der Startseite (“Session”) mit “Save” die entsprechende Konfiguration gespeichert werden. Sinnvolle Einstellungen in Putty sind beispielsweise:

  • Ein vorher erzeugtes Schlüsselpaar kann zum Einloggen verwendet werden, indem auf der Seite “Connection > SSH > Auth” der Pfad zum privaten Schlüssel auf dem eigenen Rechner angegeben wird. Der zugehörige öffentliche Schlüssel muss natürlich wie bereits beschrieben auf den Cluster kopiert werden, damit der passwortlose Login funktioniert.
  • Wenn das Häkchen “Enable X11 Forwarding” im Menü “Connection > SSH > X11” gesetzt wird, wird die Verbindung immer mit X-Unterstützung gestartet.
  • Auf der Seite “Connection > Data” kann ein “Auto-Login Username” vergeben werden. Dieser wird dann automatisch verwendet und muss dann nicht mehr bei jedem Einloggen erneut eingegeben werden.

Passwortloser Zugang

Putty hat einen eigenen Key-Generator namens PuttyGen. Dieser befindet sich im Putty-Installationsverzeichnis (in Windows 10 kann beispielsweise einfach “puttygen” im Startmenü angegeben werden und das Programm wird dann angezeigt). Um ein Schlüsselpaar zu erzeugen, muss auf “Generate” geklickt werden und anschließend die Maus einige Sekunden lang bewegt werden, um Zufallswerte zu erzeugen. Dann werden die beiden Schlüssel abgespeichert. Schließlich muss der Public Key noch, wie oben im Abschnitt über Linux beschrieben, auf dem Cluster gespeichert werden.

 

WinSCP

Um Dateien auf den Cluster oder vom Cluster auf den eigenen Rechner zu kopieren, kann das auf dem Cluster installierte Programm scp (Secure Copy) verwendet werden. Alternativ gibt es das Programm WinSCP. Die erweiterten Optionen von WinSCP erlauben wie Putty ebenfalls die Angabe eines User-Namen und eines privaten Schlüssels.

MobaXTerm

Um mit MobaXTerm eine Verbindung zum Cluster aufzubauen, muss zunächst eine neue SSH-Session erzeugt werden. Die Konfigurationsseite dieser Session ist nachfolgend abgebildet:

Unter “Remote Host” muss die Cluster-Adresse eingetragen werden. Wie bei den anderen vorgestellten Programmen können optional ein Benutzername, X11-Forwarding sowie ein bereits vorhandener Private Key konfiguriert werden. Der X-Server ist bereits in MobaXTerm enthalten, es muss also keine Zusatzsoftware installiert werden. MobaXTerm besitzt auch unter dem Menü “Tools” einen Schlüsselgenerator, der identisch wie PuttyGen funktioniert.

Aktualisiert um 14:13 am 2. Juli 2018 von Jan Philipp Stephan