Ssh-keygen
Zur Navigation springen
Zur Suche springen
Auswählen eines Algorithmus und einer Schlüsselgröße
SSH unterstützt mehrere Public-Key-Algorithmen für Authentifizierungsschlüssel. Diese beinhalten:
rsa
- ein alter Algorithmus, der auf der Schwierigkeit basiert, große Zahlen zu faktorisieren.
- Für RSA wird eine Schlüssellänge von mindestens 2048 Bit empfohlen; 4096 Bit ist besser.
- RSA ist in die Jahre gekommen und beim Factoring werden bedeutende Fortschritte gemacht.
- Es kann ratsam sein, einen anderen Algorithmus zu wählen.
- Gut möglich, dass der RSA-Algorithmus in absehbarer Zeit praktisch knackbar wird. Alle SSH-Clients unterstützen diesen Algorithmus.
dsa
- Ein alter digitaler Signaturalgorithmus der US-Regierung.
- Es basiert auf der Schwierigkeit, diskrete Logarithmen zu berechnen.
- Normalerweise würde damit eine Schlüsselgröße von 1024 verwendet werden.
- DSA in seiner ursprünglichen Form wird nicht mehr empfohlen.
ecdsa
- ein neuer digitaler Signaturalgorithmus, der von der US-Regierung standardisiert wurde und elliptische Kurven verwendet.
- Dies ist wahrscheinlich ein guter Algorithmus für aktuelle Anwendungen.
- Es werden nur drei Schlüsselgrößen unterstützt: 256, 384 und 521 (sic!) Bits. ä
- Wir würden empfehlen, ihn immer mit 521 Bit zu verwenden, da die Schlüssel immer noch klein und wahrscheinlich sicherer sind als die kleineren Schlüssel (obwohl sie auch sicher sein sollten).
- Die meisten SSH-Clients unterstützen diesen Algorithmus jetzt.
ed25519
- Dies ist ein neuer Algorithmus, der in OpenSSH hinzugefügt wurde. Die Unterstützung dafür in Clients ist noch nicht universell. Daher ist seine Verwendung in Allzweckanwendungen möglicherweise noch nicht ratsam.
Der Algorithmus wird mit ausgewählt
-T
Option und Schlüsselgröße mit der
-B
Möglichkeit. Die folgenden Befehle veranschaulichen
- ssh-keygen -t rsa -b 4096
- ssh-keygen -t dsa
- ssh-keygen -t ecdsa -b 521
- ssh-keygen -t ed25519
Private Key schützen
- Man sollte hier ein Passwort eingeben.
- Nur so ist sichergestellt, das bei einem Verlust des Schlüssels ein Angreifer sich nicht einlogen kann.
- Bei einem automatisiertem Zugriff ist dies aber schlecht möglich.
- Es gibt aber auch weitere Möglichkeiten die Keys mit externen Tokkens zu schützen.
Key erstellen
- ssh-keygen -t ed25519
enerating public/private ed25519 key pair. Enter file in which to save the key (/home/kit/.ssh/id_ed25519): Enter passphrase (empty for no passphrase): Enter same passphrase again: Passphrases do not match. Try again. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/kit/.ssh/id_ed25519. Your public key has been saved in /home/kit/.ssh/id_ed25519.pub. The key fingerprint is: SHA256:NaxHqpFQkKkHlcwsjLnFCIFbvaZYNIP+kw6JDR7sp2w kit@host200 The key's randomart image is: +--[ED25519 256]--+ |=O *o=. | |* @ O. . | |o* *.. = | |++o +. . = . | |+=++. o S . | |o=o= o . | |. = . . | | E . | |. | +----[SHA256]-----+
Mann kann auch einen SSH private Key im Nachhinein mit Passwort sichern
- ssh-keygen -p -f ~/.ssh/id_rsa_ed25519