Einführung
Rescale hat kürzlich zusätzliche Job-Einstellungen für Benutzerkonten veröffentlicht, die es Kunden ermöglichen, sich sicher mit den von ihnen bereitgestellten Remote-Clustern zu verbinden, um ihre laufenden Simulationen direkter zu überwachen oder zu verwalten. Nutzer von HPC-Simulationstools kennen das typische Szenario, in dem ein Analysemodell zum ersten Mal ausgeführt wird, der Solver jedoch aus verschiedenen Gründen abstürzt, sobald der Berechnungsbereich des Modells initialisiert und die iterative Lösung gestartet wird. Eine weitere häufige Situation ist, dass ein Job übermittelt wurde, aber eine erforderliche Eingabedatei fehlt oder ein Eingabeparameter auf einen ungeeigneten Wert gesetzt ist. Die Möglichkeit, sich direkt beim Cluster anzumelden, ermöglicht es Nutzern, diese und ähnliche Probleme kostengünstiger zu lösen, wenn sie Rescales HPC-PlattformDie Konfiguration Ihrer Kontoeinstellungen bei Rescale ist unkompliziert und umfasst die folgenden vier Schritte:
• Generieren eines SSH-Schlüsselpaars
• Hinzufügen des öffentlichen SSH-Schlüssels zu Ihrem Rescale-Konto
• Deaktivieren der Option zur automatischen Beendigung von Clustern in den Jobeinstellungen Ihres Rescale-Kontos
• Anmelden bei einem laufenden Cluster
Generieren eines SSH-Schlüsselpaars
Dieser Abschnitt erläutert Benutzern von *nix- und Windows-Betriebssystemen, wie OpenSSH-Schlüsselpaare generiert werden. Wenn Sie mit der SSH-Schlüsselgenerierung vertraut sind oder bereits ein Schlüsselpaar generiert haben, das Sie regelmäßig verwenden, können Sie mit dem nächsten Abschnitt fortfahren.
Für Benutzer von *nix-basierten Betriebssystemen gibt es ein Befehlszeilenprogramm namens ssh-keygen, mit dem diese öffentlichen und privaten SSH-Schlüssel von einer Shell-Eingabeaufforderung aus mit Folgendem generiert werden können:
ssh-keygen -t rsa -b 2048
Wenn Sie diesen Befehl aufrufen, werden sowohl der öffentliche als auch der private Schlüssel generiert. Sie werden dann aufgefordert, einen Speicherort und einen Dateinamen in Ihrem lokalen Dateisystem einzugeben, in dem beide Schlüssel gespeichert werden sollen. Alternativ können Sie dem Befehl ssh-keygen das Flag -f zusammen mit einem Pfad in Ihrem lokalen Dateisystem übergeben, in dem Sie die Schlüssel speichern möchten (z. B. /home/rescale/Desktop/id-rsa). In diesem Beispiel werden die private Schlüsseldatei mit dem Namen id-rsa und die öffentliche Schlüsseldatei mit dem Namen id-rsa.pub beide im Unterverzeichnis „Desktop“ des Home-Verzeichnisses des Benutzers rescale gespeichert. Wenn Sie das Flag -f ganz weglassen, können Sie die Standardeinstellung verwenden, bei der sowohl die Dateien id-rsa als auch id-rsa.pub in einem Unterverzeichnis Ihres Home-Ordners mit dem Namen .ssh (z. B. /home/rescale/.ssh) abgelegt werden.
Sie werden außerdem aufgefordert, eine Passphrase festzulegen und diese erneut zu verifizieren. Diese wird dann jedes Mal verwendet, wenn der öffentliche Schlüssel mit dem privaten Schlüssel abgeglichen wird. Standardmäßig wird die Festlegung dieser Passphrase ignoriert. Dies ist in der Regel empfehlenswert, um die Eingabe dieser Passphrase bei der Anmeldung an einem Remote-Host zu vermeiden. Nach Abschluss des Kommandozeilenprogramms ssh-keygen sollte ein 2048-Bit-RSA-Schlüsselpaar generiert und sowohl der private als auch der öffentliche Schlüssel in den jeweiligen Dateien am angegebenen Speicherort in Ihrem Dateisystem gespeichert sein.

Die zum Erstellen der SSH-Schlüssel verwendeten Optionen – Schlüsseltyp (RSA) und Anzahl der im Schlüssel erstellten Bits (2048) – entsprechen zufällig den Standardeinstellungen beim Aufruf von ssh-keygen in einer Shell-Eingabeaufforderung. Daher hätten gleichwertige Schlüssel auch durch Aufruf von ssh-keygen in der Shell-Eingabeaufforderung generiert werden können. Diese Optionen wurden hier hervorgehoben, um Endbenutzer über Optionen zu informieren, die sie bei der Generierung ihrer eigenen Schlüssel nutzen können. Beispielsweise möchten Sicherheitsbewusste möglicherweise einen 4096-Bit-Schlüssel anstelle des in diesem Beispiel verwendeten 2048-Bit-Schlüssels generieren. Beachten Sie, dass Benutzer, die DSA-Schlüssel anstelle von RSA-Schlüsseln generieren, auf die Verwendung von genau 1024-Bit-Schlüsseln gemäß FIPS 186-2 beschränkt sind.
Auf Windows-Systemen gibt es verschiedene Möglichkeiten, ein OpenSSH-Schlüsselpaar zu generieren. Ein beliebtes Tool, das Benutzer normalerweise auf ihren Systemen zur Verfügung haben, ist PuTTY. Falls nicht bereits installiert, ist es einfach herunterladen und einfach zu installieren. Starten Sie nach der Installation die ausführbare Datei puttygen.exe. Klicken Sie im Abschnitt „Parameter“ des PuTTYGen-Fensters auf das Optionsfeld neben SSH-2 RSA und geben Sie den Wert 2048 in das Feld neben „Anzahl der Bits im generierten Schlüssel“ ein, wie in dargestellt Abb. 2.
Sobald beide Parameter wie beschrieben eingestellt sind, klicken Sie im Fensterbereich „Aktionen“ auf die Schaltfläche „Generieren“, um mit der Generierung des SSH-Schlüsselpaars zu beginnen. Anschließend werden Sie aufgefordert, den Mauszeiger in den dafür vorgesehenen „leeren“ Bereich des PuTTYGen-Fensters zu bewegen, um den Prozess der Schlüsselgenerierung zu vereinfachen. Bewegen Sie die Maus so lange im dafür vorgesehenen Bereich, bis der blaue Fortschrittsbalken den Abschluss der Schlüsselgenerierung anzeigt. Speichern Sie abschließend sowohl den öffentlichen als auch den privaten Schlüssel in separaten Dateien im lokalen Dateisystem mithilfe der entsprechenden Schaltflächen im Fensterbereich „Aktionen“.
Sobald beide Schlüssel in ihren jeweiligen Dateien gespeichert wurden, sollten Benutzer sicherstellen, dass sie den privaten Schlüssel schützen und seinen Speicherort in ihrem lokalen Dateisystem notieren.


Hinzufügen des öffentlichen SSH-Schlüssels zu Ihrem Rescale-Konto
Sobald ein öffentliches und privates OpenSSH-Schlüsselpaar generiert wurde, können sich Benutzer bei ihren Rescale-Konten anmelden und über ihr Benutzerkontomenü zur Seite „Jobeinstellungen“ navigieren, wie in hervorgehoben Abb. 3.


Benutzer können die Datei, in der sie den öffentlichen SSH-Schlüssel gespeichert haben, in ihrem bevorzugten Texteditor öffnen, den Inhalt kopieren und den Text in das Feld „Öffentlicher SSH-Schlüssel“ auf der Einstellungsseite „Job“ einfügen. Benutzer können den Zugriff auf den Cluster, der ihre Simulation hostet, optional weiter einschränken, indem sie eine CIDR-Regel (Classless Inter-Domain Routing) angeben, die den Zugriff auf den Cluster je nach Benutzerpräferenz auf eine einzelne IP-Adresse oder einen IP-Adressbereich beschränkt. Über die verfügbaren Pulldown-Menüoptionen können einfach Regeln generiert werden, um den Zugriff von „Überall“ oder „Meine aktuelle IP-Adresse“ zu ermöglichen. Benutzer können auch eine benutzerdefinierte Regel erstellen, indem sie das Feld „Zugriffsbeschränkung (CIDR)“ direkt bearbeiten.
Deaktivieren der automatischen Beendigung von Clustern
Cluster, die die laufende Simulation eines Benutzers hosten, werden bei Bedarf bereitgestellt und konfiguriert. Sobald die Simulation abgeschlossen ist, werden die Laufzeitdateien des Benutzers aus dem Cluster entfernt und die Clusterressourcen heruntergefahren. Wenn Sie Probleme mit Ihrer Simulation beheben, können Sie dieses automatische Herunterfahren vermeiden, damit Sie sich direkt beim Cluster anmelden, auftretende Probleme überprüfen und beheben und die Simulation neu starten können. Um das automatische Herunterfahren des Clusters zu verhindern, deaktivieren Sie das Kontrollkästchen neben „Cluster automatisch beenden“ ganz unten auf der Einstellungsseite „Job“.
Beachten Sie, dass Benutzer, die diese Option deaktivieren, für die manuelle Beendigung ihrer Cluster verantwortlich sind. Rescale haftet nicht für Kosten, die durch Vergesslichkeit des Benutzers entstehen und dazu führen, dass der Cluster über die vorgesehene Dauer hinaus läuft. Benutzer sollten sich der möglichen Auswirkungen bewusst sein, die sich aus der Deaktivierung dieser Option ergeben können.
Anmelden bei einem laufenden Cluster bei Rescale
Sobald Ihr öffentlicher SSH-Schlüssel zu den Job-Einstellungen Ihres Rescale-Kontos hinzugefügt wurde und Sie einen neuen Job übermitteln, lädt die Rescale-Plattform den mit Ihrem Konto verknüpften öffentlichen SSH-Schlüssel in den von Ihnen bereitgestellten Cluster hoch. Im Fenster mit der Job-Statusmeldung werden der Benutzername und die IP-Adresse des Hauptknotens für diesen Cluster angezeigt, wie in dargestellt. Abb. 4.

Mit diesen Anmeldeinformationen können sich Benutzer direkt beim Remote-Cluster anmelden. In *nix-Betriebssystemumgebungen können Benutzer den folgenden Befehl an einer Shell-Eingabeaufforderung ausführen:
ssh -i @
Hier wird durch den entsprechenden UNIX-Dateisystempfad ersetzt (z. B. /home/rescale/Desktop/id-rsa). Befindet sich der private SSH-Schlüssel unter $HOME/.ssh, sucht ssh automatisch nach dort gespeicherten privaten Schlüsseln. Das Flag -i mit dem Pfadargument ist nicht erforderlich. Wenn Benutzer ihre Remote-X-Window-Anzeige auf ihre lokale Anzeige umleiten möchten, können sie die in ssh integrierte X11-Weiterleitungsfunktion aufrufen, indem sie das Flag -Y an den obigen ssh-Befehl übergeben. Dies ermöglicht Kunden bei Bedarf eine grundlegende Interaktion mit GUI-Anwendungen, die auf dem Remote-Cluster ausgeführt werden.
PuTTY wird erneut verwendet, um die Einrichtung einer Remote-SSH-Verbindung für Benutzer in Windows-Umgebungen zu demonstrieren. Nach dem Start von putty.exe können Benutzer den Speicherort der privaten SSH-Schlüsseldatei auf ihrem lokalen Dateisystem angeben, indem sie zu Verbindung → SSH → Authentifizierung navigieren und auf die Schaltfläche „Durchsuchen…“ klicken. Anschließend kehren sie zum Bereich „Sitzung“ zurück, stellen sicher, dass die Option neben SSH im Abschnitt „Verbindungstyp“ ausgewählt ist, geben den Benutzernamen und die IP-Adresse, die sie über das Statusprotokoll von Rescale erhalten haben, in das Feld „Hostname (oder IP-Adresse)“ von PuTTY ein (z. B. zach_Gcaaa@54.91.153.220) und klicken abschließend auf die Schaltfläche „Öffnen“. Ein Fenster für die Remote-Verbindung sollte sich öffnen und die Anmeldung am Remote-Cluster mit den angegebenen Anmeldeinformationen ermöglichen.
Sobald Ihre Simulation abgeschlossen ist, übertragen Sie alle Laufzeitdateien zurück in Ihre lokale Umgebung und klicken Sie auf der Seite „Status“ für diesen bestimmten Auftrag auf die Schaltfläche „Beenden“, um zusätzliche Kosten zu vermeiden.
