Antworten:
id_rsa.pub
und id_dsa.pub
sind die öffentlichen Schlüssel für id_rsa
und id_dsa
.
Wenn Sie in Bezug auf fragen SSH
, id_rsa
ist ein RSA- Schlüssel und kann mit dem SSH-Protokoll 1 oder 2 verwendet werden, während id_dsa
es sich um einen DSA- Schlüssel handelt und nur mit dem SSH-Protokoll 2 verwendet werden kann. Beide sind sehr sicher, aber DSA scheint es zu sein der Standard in diesen Tagen (vorausgesetzt, alle Ihre Clients / Server unterstützen SSH 2).
Update: Seitdem dies geschrieben wurde, hat sich DSA als unsicher erwiesen. Weitere Informationen finden Sie in der Antwort unten.
SSH verwendet öffentliche / private Schlüsselpaare , ebenso
id_rsa
wie Ihr privater RSA- Schlüssel (basierend auf Primzahlen), der sicherer ist als Ihr privater id_dsa
DSA- Schlüssel (basierend auf Exponenten). Bewahren Sie Ihre privaten Schlüssel sicher auf und teilen Sie Ihre id_rsa.pub
und id_dsa.pub
öffentliche Schlüssel allgemein.
DSA hat einen erratenen Parameter, wenn der Zufallszahlengenerator Ihres Computers unterdurchschnittlich ist, wodurch Ihr geheimer Schlüssel enthüllt wird. ECDSA (DSAs Upgrade der elliptischen Kurve) ist ähnlich anfällig . Selbst bei guten Zufallszahlen hat DSA andere Bedenken hinsichtlich der Stärke (diese sind auch in Diffie-Hellman zu finden ).
OpenSSH erstellt unsichere 1024-Bit-Schlüssel ( Problemumgehung ) und deaktiviert jetzt standardmäßig DSA .
Die Kryptographie mit elliptischen Kurven bietet eine erhöhte Komplexität bei kleineren Schlüsselgrößen. Ed25519 (basierend auf der Komplexität ebenenmodellierter elliptischer Kurven ) ist die bevorzugte Implementierung, da angenommen wird, dass keine Einmischung erfolgt (durchgesickerte Dokumente zeigen, dass die US-amerikanische NSA Kryptostandards schwächt ).
Leider ist Ed25519 noch ziemlich neu und erfordert OpenSSH 6.5 oder GnuPG 2.1 (siehe die vollständige Liste ).
RSA-Schlüsselgrößen von 4096 Bit sollten eine vergleichbare Komplexität wie Ed25519 aufweisen.
Ed25519 wird RSA immer noch vorgezogen, da befürchtet wird, dass RSA für die gleichen Stärken wie DSA anfällig sein könnte, obwohl die Anwendung dieses Exploits auf RSA voraussichtlich erheblich schwieriger sein wird.
Ja, rsa gilt als sicherer.
Im Oktober 2014 hat OpenSSH 7 (die Standardeinstellung mit Ubuntu 16.04LTS) die Standardunterstützung für DSA deaktiviert. Nehmen Sie dies als starkes Zeichen dafür, dass DSA keine empfohlene Methode mehr ist.
https://www.gentoo.org/support/news-items/2015-08-13-openssh-weak-keys.html
rsa gilt als sicherer.
Nicht mehr (Mai 2020, zehn Jahre später) mit OpenSSH 8.2 , wie von Julio berichtet
Zukünftige Abschreibungsmitteilung
Es ist nun möglich 1 gewählt-Präfix Angriffe gegen den SHA-1 - Hash - Algorithmus auszuführen , für weniger als USD $ 50K.
Aus diesem Grund werden wir in naher Zukunft den Signaturalgorithmus für den öffentlichen Schlüssel "ssh-rsa" deaktivieren, der standardmäßig von SHA-1 abhängt .
(Siehe " SHA-1 ist ein Durcheinander: Erste Kollision mit ausgewählten Präfixen bei SHA-1 und Anwendung auf das PGP-Vertrauensnetz " Leurent, G und Peyrin, T (2020))
Dieser Algorithmus wird leider immer noch häufig verwendet, obwohl es bessere Alternativen gibt. Er ist der einzige verbleibende Signaturalgorithmus für öffentliche Schlüssel, der in den ursprünglichen SSH-RFCs angegeben ist.
Die besseren Alternativen sind:
Die RFC8332 RSA SHA-2-Signaturalgorithmen rsa-sha2-256 / 512.
Diese Algorithmen haben den Vorteil, dass sie denselben Schlüsseltyp wie "ssh-rsa
" verwenden, jedoch die sicheren SHA-2-Hash-Algorithmen verwenden.
Diese werden seit OpenSSH 7.2 unterstützt und werden bereits standardmäßig verwendet, wenn Client und Server sie unterstützen.Der Signaturalgorithmus ssh-ed25519.
Es wird in OpenSSH seit Release 6.5 unterstützt.Die ECDSA-Algorithmen von RFC5656: ecdsa-sha2-nistp256 / 384/521.
Diese werden seit Release 5.7 von OpenSSH unterstützt.Um zu überprüfen, ob ein Server den schwachen Algorithmus für den öffentlichen Schlüssel ssh-rsa für die Hostauthentifizierung verwendet, versuchen Sie, eine Verbindung zu diesem Server herzustellen, nachdem Sie den
ssh-rsa
Algorithmus aus der zulässigen Liste von ssh (1) entfernt haben:ssh -oHostKeyAlgorithms=-ssh-rsa user@host
Wenn die Überprüfung des Hostschlüssels fehlschlägt und keine anderen unterstützten Hostschlüsseltypen verfügbar sind, sollte die Serversoftware auf diesem Host aktualisiert werden.
In einer zukünftigen Version von OpenSSH kann
UpdateHostKeys
der Client standardmäßig automatisch auf bessere Algorithmen migrieren.
Benutzer können diese Option manuell aktivieren .