SSH-Key erzeugen

SSH-Schlüssel

SSH-Keys bieten gegenüber der Anmeldung mit Username und Passwort einen deutlichen Sicherheitsgewinn und sind daher für die virtuellen (Linux-)Server des ZfN Standard.

Der SSH-Key besteht aus einem privaten und einem öffentlichen Schlüssel. Der private Schlüssel ist einem Kennwort gleichzusetzen und muss daher sicher verwahrt werden - er sollte nicht auf einem Server abgelegt werden. Der öffentliche Schlüssel (public key) wird auf die Server kopiert, auf die Sie Zugriff erhalten wollen. Sie benötigen also (in der Regel) nur einen SSH-Key, unabhängig von der Zahl der Server.

Erzeugt wird das Schlüsselpaar auf Ihrem Arbeitsplatz-PC oder -Notebook, nicht auf dem Server.

Sollen mehrere Personen Zugang zu einem Server erhalten, erzeugt jede Person ihren eigenen Schlüssel. Die public keys werden auf dem Server in die Datei /root/.ssh/authorized_keys eingefügt - je Zeile ein Key.

SSH-Key erzeugen

Linux: ssh-keygen

Öffnen Sie eine Kommadozeile (bzw. Terminal-Fenster) und geben Sie folgenden Befehl ein:

ssh-keygen -t ed25519

Alternativ können Sie auch einen RSA-Key nutzen ("-t rsa").

SSH-Keygen fragt nach dem Speicherort für den Key (normalerweise in ~/.ssh, die Voreinstellung ist sinnvoll) sowie einem Kennwort für den Key. Das Key-Passwort sollte aus Sicherheitsgründen unbedingt gesetzt werden.

Erzeugt werden zwei Dateien: der private und der öffentliche Schlüssel, letzterer trägt die Endung ".pub" und kann folgendermaßen angezeigt werden (sofern Sie den vorgeschlagenen Dateinamen übernommen haben):

cat ~/.ssh/id_ed25519.pub

bzw. für RSA-Keys:

cat ~/.ssh/id_rsa.pub

Beim Erstellen einer neuen virtuellen Maschine kopieren Sie den Inhalt der .pub-Datei in das Feld "SSH Public-Key".

Windows: putty

Das Windows-Programm Putty enthält sowohl einen SSH-Client als auch den Key-Generator "puttygen". Putty kan als Windows-Installationspaket herunterladen werden:

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

Nach der Installation starten Sie "puttygen" und erzeugen einen neuen SSH-Key:

  • Typ auswählen (ganz unten): RSA oder ED25519
  • auf "Generate" klicken
  • Kommentar einfügen (bewährt hat sich hier die Email-Adresse)
  • Kennwort für den Schlüssel vergeben - aus Sicherheitsgründen ist dies unbedingt zu empfehlen
  • private key und public key speichern
  • den public key (bzw. den Wert aus dem Feld "Public key for pasting into OpenSSH authorized_keys file") kopieren Sie in das Webformular zum Erstellen eines neuen virtuellen Servers.

Eine detailierte Anleitung zur Verwendung von SSH-Keys in Putty finden Sie hier:
https://the.earth.li/~sgtatham/putty/0.74/htmldoc/Chapter8.html