SSH-Schlüsselpaare
Was ist ein SSH-Schlüsselpaar?
Bei einem Schlüsselpaar im kryptografischen Sinne handelt es sich um zwei zusammengehörige, sehr große, über ein standardisiertes Verfahren erzeugte Zahlen, die jeweils als privater und öffentlicher Schlüssel bezeichnet werden. Werden Daten mit einem dieser Schlüssel verschlüsselt, können die Daten nur mit dem jeweils anderen Schlüssel wieder lesbar gemacht werden, weshalb Schlüsselpaare für sog. Asymmetrische Verschlüsselungsverfahren verwendet werden.
Der große Vorteil asymmetrischer Verschlüsselungsverfahren im Gegensatz zu symmetrischen Verfahren ist, dass symmetrische Verfahren nur einen Schlüssel für die Ver- und Entschlüsselung besitzt, der sowohl dem Absender, als auch dem Adressaten der Daten bekannt sein, aber gleichzeitig vor Dritten geheim gehalten werden muss.
Bei asymmetrischen Verfahren existieren zwei Schlüssel, ein öffentlicher und ein privater. Der private Schlüssel ist nur dem Ihnaber bekannt, der öffentliche Schlüssel kann öffentlich - also beispielsweise auf einem sogenannten Key-Server - einsehbar sein. Werden nun Daten mit dem öffentlichen Schlüssel verschlüsselt, ist die Entschlüsselung nur mit dem dazugehörigen privaten Schlüssel möglich, wodurch sich die Handhabung sensibler Daten vereinfacht, da der Absender den Schlüssel zur Entschlüsselung nicht kennen muss.
Schlüsselpaare kommen beispielsweise in den folgenden Bereichen zum Einsatz:
- E-Mail-Signierung und -Verschlüsselung (z. B. OpenPGP und S/MIME)
- Webserverzugriffe per SSH und SFTP
- Sichere Website-Verbindungen per SSL/TLS
- Digitale Signaturen
Für SSH-Schlüsselpaare stehen Ihnen mehrere verschiedene Algorithmen zur Auswahl:
- DSA: Dieser Algorithmus gilt als unsicher und wird seit OpenSSH 7.0 nicht mehr unterstützt
- RSA: Dieser Algorithmus ist sehr weit verbreitet und gilt ab einer Schlüssellänge von 3072 als sicher. Falls Ihr Schlüssel eine Länge von 1024 oder kürzer besitzen sollte, wird dieser als unsicher eingestuft
- ECDSA: Die Sicherheit des Schlüsselpaares ist von der Fähigkeit Ihres PCs abhängig, eine zufällige Signatur zu generieren
- ED25519: Dieser Algorithmus wurde in OpenSSH 6.5 eingeführt und gilt als sicher. ED25519 Schlüsselpaare sind generell kürzer als sichere RSA-Schlüsselpaare und bieten mehr Sicherheitsmechanismen als andere Algorithmen.
Wie generiere ich ein SSH-Schlüsselpaar unter Windows?
Unter Windows existieren einige verschiedene Anwendungen zum Generieren von Schlüsselpaaren. In diesem Artikel verwenden wir die Anwendung "PuttyGen" bzw. "PuTTY Key Generator", die mit dem SSH-Client "Putty" mitgeliefert wird.
Falls Putty noch nicht an Ihrem Rechner installiert sein sollte, laden Sie zunächst die neuste Putty-Version von der Website des Herausgebers herunter:
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Installieren Sie nach Abschluss des Downloads Putty mit den Standard-Installationseinstellungen.
Nun können Sie mit dem Generieren Ihres SSH-Schlüsselpaars beginnen. Suchen Sie im Windows-Startmenü nun nach der Anwendung "PuttyGen.exe" und führen Sie diese aus, folgende Ansicht erscheint.
Passen Sie zuerst die Parameter im unteren Bereich des Fensters an. Wir empfehlen Ihnen entweder "RSA" oder "ED25519" als Algorithmus zu verwenden, falls Sie RSA ausgewählt haben, empfehlen wir zusätzlich, die Schlüssellänge von 2048 auf mindestens 4096 Bits zu erhöhen.
Klicken Sie nun auf "Generate", unabhängig vom von Ihnen ausgewählten Algorithmus erscheint folgende Ansicht. Bewegen Sie Ihren Mauszeiger solange in einem zufälligen Muster über das "PuTTY Key Generator"-Fenster, bis der grüne Balken vollständig gefüllt wurde, darauf wird Ihr Schlüsselpaar generiert.
Anschließend werden die generierten Daten im Fenster ausgegeben. Vergeben Sie zunächst einen aussagekräftigen Kommentar ("Key comment"), der den Anzeigenamen des Besitzers angibt, außerdem empfehlen wir Ihnen dringend, ein starkes Passwort im Feld "Key passphrase" zu vergeben, das Sie in "Comfirm passphrase" erneut eingeben.
Speichern Sie zuletzt Ihren neu generierten privaten Schlüssel mit einem Klick auf "Save private key" an einem sicheren Ort ab.
Um Ihnen Zugang zum Webserver zu gewähren, muss dort der Inhalt des Feldes "Publiy key…" eingetragen werden. Da der öffentliche Teil des Schlüsselpaars nicht Sicherheitskritisch ist, können Sie den Inhalt in die Zwischenablage kopieren und zum Beispiel per E-Mail versenden.
Wie generiere ich ein SSH-Schlüsselpaar unter Linux?
Für Linux-Systeme existieren verschiedene Anwendungen zum Generieren von Schlüsselpaaren, in diesem Artikel werden wir "ssh-keygen" aus dem Softwarepaket "ssh-client" verwenden.
Falls das Paket "ssh-client" noch nicht an Ihrem PC installiert sein sollte, können Sie dies mit dem vorinstallierten Paketmanager (in diesem Beispiel Apt) mit folgendem Befehl tun.
sudo apt install ssh-client
Für den Befehl "ssh-keygen" verwenden wir in diesem Artikel folgende Parameter:
-t | [Algorithmus zur Schlüsselerstellung, wir empfehlen entweder "rsa" oder "ed25519" zu verwenden] |
-b | [Länge des Schlüsselpaars in Bits, wir empfehlen eine mindestlänge von 4096 Bits für "rsa"] |
-C | [Kommentar bzw. Anzeigename des öffentlichen Schlüssels] |
-f | [Ausgabedateipfad der generierten Dateien, geben Sie hier einen sicheren Dateipfad an, achten Sie bitte außerdem darauf, dass der Pfad kein Ordner, sondern ein Dateipfad ist] |
Überlegen Sie sich zunächst, welchen Algorithmus Sie für die Schlüsselerstellung verwenden möchten, wir empfehlen hierfür entweder "rsa" oder "ed25519".
Falls Sie sich für "rsa" als Algorithmus entschieden haben sollten, können Sie Ihr Schlüsselpaar mit folgendem Befehl generieren:
ssh-keygen -t rsa -b 4096 -C 'rsa-user@nb01' -f /home/user/.ssh/ssh_key
Falls Sie sich für "ed25519" als Algorithmus entschieden haben, entfällt Parameter "-b", in diesem Fall sieht der Befehl folgendermaßen aus:
ssh-keygen -t ed25519 -C 'ed25519-user@nb01' -f /home/user/.ssh/ssh_key
Vergeben Sie ein Sicheres Kennwort, sobald Sie vom Generator dazu aufgefordert werden. Nach Abschluss des Vorgangs erscheint in beiden Fällen eine des folgenden Screenshots ähnliche Ansicht im Terminal:
Der Generator hat zwei Dateien für Sie am von Ihnen mit dem Parameter "-f" festgelegten Ort erstellt, der private Schlüssel wird in die Datei ohne Endung - in unserem Beispiel "/home/user/.ssh/ssh_key" - gespeichert, der öffentliche Schlüssel befindet sich in der Datei mit der Endung ".pub" - in unserem Beispiel "/home/user/.ssh/ssh_key.pub".
Bewahren Sie Ihren privaten Schlüssel sicher auf. Um Ihnen Zugang zum SSH-Server zu gewähren muss der öffentliche Schlüssel dort eingetragen werden. Da Ihr öffentlicher Schlüssel nicht Sicherheitskritisch ist, können Sie die komplette öffentliche Schlüsseldatei per E-Mail versenden.

Die Consato, ein Überblick
Wir gehen in Vorleistung
Kennenlern-Angebot |
Ihr Nutzen
|
Ergebnis nach Ihren Vorgaben, etwa ...
|
Weitere Informationen: |
Umfang: 4 Stunden. Kostenlos und ohne weitere Verpflichtungen. Für: Unternehmen mit mindestens 10 Arbeitsplätzen |