Der ssh-keygen
Befehl generiert .pub
Dateien, die er als "öffentliche Schlüsseldateien" beschreibt, aber sie haben ein völlig anderes Format als die meisten "öffentlichen Schlüsseldateien", die ich normalerweise gesehen habe und die im PEM-Format vorliegen. Die ssh-keygen
-Style-Dateien sehen folgendermaßen aus:
ssh-rsa AAAAB3NzaC1... user@host
... während die PEM-Dateien so aussehen:
-----BEGIN CERTIFICATE-----
MIIGZjCCBU6gAwIBAgIDCIrNMA0GCSqGSIb3DQEBBQUAMIGMMQsw...
-----END CERTIFICATE-----
Sind diese beiden Formate austauschbar oder erfüllen sie einen grundlegend anderen Zweck? Ich bin auf dieses Problem gestoßen, weil ich den RSA2-Schlüsselfingerabdruck meiner PEM-codierten öffentlichen Schlüsseldatei abrufen wollte, aber die normalerweise vorgeschlagene Methode ( ssh-keygen -l
) besagt, dass meine PEM-codierte Datei "keine öffentliche Schlüsseldatei" ist.
Übrigens ist mir diese Antwort bekannt , aber sie deckt nicht die von generierten PUB-Dateien ab ssh-keygen
.
quelle
openssl rsa -in privatekey_rsa -pubout
, was eigentlich ein öffentlicher Schlüssel und kein Zertifikat ist.Antworten:
OpenSSH-Schlüsselpaare sind weder PEM noch ein anderer x500-Standard. Neue Versionen von OpenSSH können X.509-PEM-Schlüssel verwenden, aber das ist ein weiterer Wachsball, der von ssh-keygen getrennt ist und explizit konfiguriert werden muss. Wie ich weiß, verwendet keine größere Implementierung von SSH genau die gleichen Schlüsselformate wie jede andere.
Wenn Sie etwas anderes als OpenSSH (deus iuvo vos) verwenden, könnte dies, wie Zoredache feststellt , fast alles sein.
quelle
.pub
Datei auf meinem Server unter/etc/ssh/ssh_host_rsa_key.pub
und verwendete keine der SSL-Zertifizierungsstellenarchitekturen. Beissh-keygen -l
der Ausführung dieser Datei wurde mir der RSA2-Schlüsselfingerabdruck des Servers angezeigt.