SSH-Keys erzeugen

Linux unterstützt je nach SSH-Konfiguration sowohl Passwörter als auch SSH-Keys. Wir empfehlen SSH-Keys für den Serverzugang. Manche Cloud-Images erlauben insbesondere den Root-Zugang standardmäßig nur mit einem Schlüssel.

Der Vorteil ist, dass ein einziger Schlüssel den Login in alle Systeme ermöglicht, auf die Du Zugriff hast. Der Schlüssel kann natürlich auch auf mehreren Geräten gleichzeitig verwendet werden (z.B. Laptop und Desktop-PC). Alternativ kann ein Schlüssel je Gerät erzeugt werden, sodass auf den Cloud-VPS zwei Schlüssel Zugriff haben. Das hat den Vorteil, dass z.B. bei einem gestohlenen Laptop geprüft werden kann, ob der SSH-Key für einen Login verwendet wurde und der Schlüssel einzeln entfernt werden kann, ohne dass der Desktop-PC den Zugriff verliert.

Der SSH-Key wird meist von einem Agent (z.B. ssh-agent unter Linux, PuttyAgent unter Windows) im RAM gehalten und ist für jede neue Verbindung und jedes neue Cloud-VPS sofort einsatzbereit.

Erzeugen der SSH-Keys unter Linux

Der Schlüssel wird mit folgendem Befehl erzeugt:

Code
ssh-keygen -t rsa -b 4096

Hinweis: Hier wird ein Key von 4096 bit erzeugt. Wir empfehlen, mindestens einen Key mit 2048 bit zu erzeugen.

Dabei werden zwei Abfragen nach Dateiname und Passwort angezeigt. Mit "ENTER" wird der angezeigte Standard verwendet:

Code
Enter file in which to save the key (/home/demouser/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):

Der Key ist dann - in diesem Beispiel - unter /home/demouser/.ssh/id_rsa abgelegt. Bitte darauf achten, dass unter Linux der Nutzer, mit dem man sich dann per SSH anmelden möchte, auch Eigentümer der Datei ist, also die nötigen Zugriffsrechte hat. Alles in allem könnte der Ablauf z.B. so aussehen:

Code
demouser@tyler-the-sshkey-creator:~$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demouser/.ssh/id_rsa):
Created directory '/home/demouser/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/demouser/.ssh/id_rsa.
Your public key has been saved in /home/demouser/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:hb7xUWD9r4Sh67d93EOn+RXzEvWfbWlfwJD7zAl0GOE demouser@tyler-the-sshkey-creator
The key's randomart image is:
+---[RSA 4096]----+
|          o.o.   |
|         o o.+   |
|        . . E.. .|
|       . . o.=...|
|        S ..oo++.|
|         +...=.=@|
|        . .. .BOX|
|          . ..=+B|
|         ......o+|
+----[SHA256]-----+

Diesen Key tragen wir nun bei lima-city in der Verwaltung unter "SSH-Keys" ein, um ihn anschließend auf neuen Cloud-VPS zu hinterlegen.

Dazu lesen wir den öffentlichen Schlüssel in /home/demouser/.ssh/id_rsa.pub aus (der private Teil des Schlüssels in /home/demouser/.ssh/id_rsa muss unbedingt geheim bleiben!):

Code
cat ~/.ssh/id_rsa.pub

Dies erzeugt eine Ausgabe, die in etwa so aussieht:

Code
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC94k4xuQaVIm3YPadJsQw+AaZoyIMnCYP/gxry1773sz5FEeNFpaxDgH3Gu6X4Pzx6Kw6LS/CA5r+irUnCxkpECbK5B7TgBr2Re5aFIuQUHWXbpaWMjkBYGEhWdXwYOoJW+tF/0Z33/ki4HBA5GUqX/zpDVqWyoqC3UYT+HAi6qLOwYSC5Rye+WbkSCuFcu1uAZQOlVhuJHMbjpRTFU/vXWNv/QLmc07MQmRFoaovB3krkRkXTY7KcabxllxXxVFw54jR8gTau6lRLP9fzcJ/uB8oZuUlHJi8qfaHnt1BWM9MFc/a424LgeZt6J8Dq0rjmFWCgp3LvLGxFazfBV8oB demouser@keytest

Diese komplette Zeile kopieren wir in das Formular von "SSH-Key anlegen", geben ggf. noch einen Namen ein, fertig!

Erzeugen unter Windows

Unter Windows kannst Du Schlüssel mit PuTTYgen erzeugen:

  1. Wähle RSA und stelle die Schlüssellänge vor dem Erzeugen auf 4096 bit ein.
  2. Klicke auf Generate und folge den Hinweisen zur Schlüsselerzeugung.
  3. Vergib optional einen Kommentar und schütze den privaten Schlüssel mit einer Passphrase.
  4. Speichere ihn über Save private key als .ppk-Datei an einem sicheren Ort. Gib diese Datei nicht weiter.
  5. Kopiere den vollständigen Inhalt aus Public key for pasting into OpenSSH authorized_keys file in SSH-Key anlegen.

Die .ppk-Datei verwendest Du im SSH-Client; in die Verwaltung gehört ausschließlich der öffentliche Schlüssel.

Frag die lima-city Hilfe Antworten basieren auf unseren Hilfeartikeln. Bitte sende keine Accountdaten oder Passwörter.