RSA2-Schlüssel im OpenSSH-Format generieren [duplizieren]

1

Diese Frage hat hier bereits eine Antwort:

Ich muss einen Schlüssel erzeugen, RSA v2 im OpenSSH-Format. Ich bin etwas verwirrt. Ich versuche es mit Putty Key Generator zu generieren. Dort sehe ich eine Option SSH2-RSA, SSH1-RSA. Ist SSH2-RSA der RSA2-Schlüssel oder bedeutet es etwas anderes?

Ist dieser Schlüssel auch im OpenSSH-Format? Ich sehe, dass es eine Konvertierungsregisterkarte mit zwei Optionen gibt: OpenSSh-Schlüssel exportieren und ssh.com-Schlüssel exportieren. Ich bin mir also nicht sicher, ob die von mir generierten Schlüssel im OpenSSH-Format vorliegen.

Ankur Bhatia
quelle
6
Wird auch in superuser.com/questions/989826/… gefragt und beantwortet .
Dave_thompson_085

Antworten:

2

Dort sehe ich eine Option SSH2-RSA, SSH1-RSA. Ist SSH2-RSA der RSA2-Schlüssel oder bedeutet es etwas anderes?

OpenSSH verwendet zwei verschiedene Formate (und Dateien) für RSA-Schlüssel: eines für das alte, schwache SSHv1-Protokoll, das Sie nicht verwenden sollten (und häufig nicht dürfen); und eine für das aktuelle SSHv2-Protokoll. ssh-keygenin OpenSSH nennt sie -t rsa1und -t rsa(die Leute nennen sie aus Gründen der Klarheit rsa2) und puttygennennt sie SSH1-RSA und SSH2-RSA.

Also ja, der SSH2-RSA zeigt einen RSA2-formatierten Schlüssel an.

Ist dieser Schlüssel auch im OpenSSH-Format? Ich sehe, dass es eine Konvertierungsregisterkarte mit zwei Optionen gibt: OpenSSh-Schlüssel exportieren und ssh.com-Schlüssel exportieren.

Es gibt anscheinend 4 Optionen (nach Auswahl von SSH2-RSA):

  1. Öffentlichen Schlüssel speichern: Exportiert den öffentlichen Schlüssel im öffentlichen SSH2-Schlüsselformat, einem Standard ( RFC4716 ), der jedoch nicht weit verbreitet ist.
  2. Privaten Schlüssel speichern: Exportiert den privaten Schlüssel im proprietären / verschlüsselten Putty-Format.
  3. Export OpenSSH - Schlüssel: das exportiert eigentlich ein Open SSL verschlüsselten privaten Schlüssel (PKCS # 1 / PEM - Format), das Öffnen SSH normalerweise für RSA2 Schlüssel verwendet (und OpenSSH nutzt ähnlich OpenSSL - Formate für DSA und ECDSA privaten Schlüssel in v2, aber in den letzten Versionen hat ein eigenes Format für den privaten Schlüssel Ed25519, einen neuen Algorithmus, den OpenSSL noch nicht kennt);
  4. Ssh.com-Schlüssel exportieren: Exportiert den Schlüssel in dem von der kommerziellen SSH-Implementierung von ssh.com verwendeten Format ( siehe Wikipedia) , das mit OpenSSH importiert werden kann ssh-keygen -i.

Außerdem wird der öffentliche Schlüssel bei jedem Generieren oder Laden eines Schlüssels ohne explizite Aktion im OpenSSH- Format authorized_keys(und known_hosts) angezeigt . Dieses Format variiert auch zwischen RSA1 (SSHv1) und RSA2 und anderen SSHv2-Schlüsseln, jedoch weniger dramatisch. Für v2 werden der Name des Algorithmus und base64 der Drahtkodierung verwendet, ähnlich dem Format rfc4716, jedoch ohne Zeilenumbrüche oder PEM-Header / Trailer.

Beachten Sie, dass das Format des öffentlichen Schlüssels in der Regel wichtiger ist, da der öffentliche Schlüssel auf den Server kopiert werden muss (auf dem möglicherweise nicht die gleiche Software wie auf dem Client ausgeführt wird), während das Format des privaten Schlüssels lokal bleiben kann. Benutzer von SSH kopieren den privaten Schlüssel jedoch häufig auch auf andere Computer.

Öffentlichen Schlüssel speichern

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20151022"
    ... base 64 ...
---- END SSH2 PUBLIC KEY ----

Privaten Schlüssel speichern

PuTTY-User-Key-File-2: ssh-rsa
Encryption: aes256-cbc
Comment: rsa-key-20151022
Public-Lines: 6
... base 64 ...
Private-Lines: 14
... base 64 ...
Private-MAC: 243d3afda7ac218891e39fc0df7ed7cf97d8f358

OpenSSH-Schlüssel exportieren

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,85137363803E9EA9

... base 64 ...
-----END RSA PRIVATE KEY-----

Exportieren Sie den ssh.com-Schlüssel

---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----
Comment: "rsa-key-20151022"
... base 64 ...
---- END SSH2 ENCRYPTED PRIVATE KEY ----
Maarten Bodewes
quelle