Ich habe festgestellt, dass ssh-keygen
("ssh" -Paket) andere Schlüssel erzeugt als puttygen
("putty" -Paket).
Wenn ich mit ssh-keygen
einigen SSH-Servern öffentliche und private Schlüssel erstelle , werden meine Schlüssel nicht akzeptiert. Wenn ich Schlüssel mit puttygen
nur einem Server erstelle, wird dies akzeptiert.
Warum schlagen Linux-Repositorys keine gemeinsame Lösung (Paket) dafür vor? Ich habe ein anderes Paket ssh-3.2.9.1 gefunden , das Schlüssel erstellt, die mit Putty funktionieren. Aber warum gibt es in SSH keine praktikable Lösung?
Antworten:
OpenSSH ist die De-facto-Standardimplementierung des SSH-Protokolls. Wenn sich PuTTY und OpenSSH unterscheiden, ist PuTTY nicht kompatibel.
Wenn Sie mit OpenSSH einen Schlüssel mit
ssh-keygen
den Standardoptionen generieren , funktioniert er mit praktisch jedem Server. Ein Server, der einen solchen Schlüssel nicht akzeptiert, ist veraltet, verwendet eine andere SSH-Implementierung oder ist auf seltsame Weise restriktiv konfiguriert. Nicht standardmäßige Schlüssel werden auf einigen Servern möglicherweise nicht unterstützt. Insbesondere ECDSA-Schlüssel beschleunigen den Sitzungsaufbau geringfügig, werden jedoch nur von neueren Versionen von OpenSSH unterstützt.PuTTY verwendet ein anderes Schlüsseldateiformat. Es enthält Tools zum Konvertieren zwischen dem eigenen
.ppk
Format und dem OpenSSH-Format.Das von Ihnen gefundene ssh-3.2.9.1 ist ein kommerzielles Produkt mit einem eigenen, unterschiedlichen privaten Schlüsselformat. Es gibt keinen Grund, es anstelle von OpenSSH zu verwenden, es kann nur weniger kompatibel sein, es ist kostenpflichtig und es gibt ungefähr keine Anleitung, wie man es dort draußen verwendet.
quelle
Die meisten Linux-Distributionen sind
putty
für Linux verfügbar. Sie könnenputty
auf Linux-Seite installieren undputtygen
die PPK-Dateien in die regulären SSH-Schlüsseldateien (sogenannte PEM-Dateien) konvertieren, obwohl der Dateiname keine PEM-Datei enthält.HINWEIS: Sie können auch
puttygen
PEM-Dateien im ssh-Stil wieder in importierenputty
.Der Autor von PuTTY entschied sich für die Einfachheit, sodass die öffentlichen und privaten Schlüssel, die die zugrunde liegende Sicherheit für die Putty / SSH 2-Schlüsselauthentifizierung darstellen, in einer einzigen proprietären PPK-Datei gespeichert werden. Normalerweise werden diese Schlüssel von ssh als zwei separate Dateien verwaltet.
Unter Linux werden die Schlüsseldateien normalerweise im Verzeichnis .ssh gespeichert.
In dieser Frage zum Stapelüberlauf mit dem Titel " PEM in PPK-Dateiformat konvertieren" finden Sie einen guten Überblick über den Konvertierungsprozess .
Der Autor von putty erläutert auch seine Gründe für die Verwendung von .ppk-Dateien im
putty
Benutzerhandbuch . Sie können es hier in Abschnitt 8.2.12 nachlesen.quelle
uname -a
. Linux - Distribution:lsb_release -a
.Beide speichern ein "RSA-Schlüsselpaar für Version 2 des SSH-Protokolls" und können austauschbar konvertiert werden. Bezüglich des tatsächlich gespeicherten Formatunterschieds:
von https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/key-formats-nively.html
[ Hervorhebung hinzugefügt]
quelle