Zunächst einmal ist hier der vollständige Eintrag auf der Manpage
für ssh-keygen -o
von meinem Computer ( ssh-keygen
scheint nicht zu sein um ein Versionsflag zu haben, aber die Manpage
ist vom 17. Februar 2016)
-o Bewirkt, dass ssh-keygen private Schlüssel mit dem neuen speichert OpenSSH-Format anstelle des kompatibleren PEM-Formats . Das neue Format hat eine erhöhte Beständigkeit gegen das Knacken von Brute-Force-Passwörtern, wird jedoch von OpenSSH-Versionen vor 6.5 nicht unterstützt. Ed25519-Schlüssel verwenden immer das neue Format für private Schlüssel.
Es scheint ziemlich klar zu sein, dass es sich nur um das Format der produzierten Datei handelt. Beachten Sie auch, dass ssh-keygen
nur Ed25519-Schlüssel im neuen Format speichert, unabhängig davon, welche Flags Sie übergeben.
Seit Ihren beiden heutigen Fragen hatten die gleiche zugrunde liegende Frage, lassen Sie uns damit umgehen.
... diese "neueren Formate" DSA / RSA / ECC ...
Ok, DSA, RSA und ECC sind also keine unterschiedlichen Formate, sie sind völlig unterschiedliche Algorithmen und stehen in keinerlei Beziehung zueinander.
Ich wünschte, ich könnte einen besseren Weg finden, dies zu erklären, aber Ich bin mir nicht sicher, ob ich es kann, ohne zu technisch zu werden. Versuchen wir Folgendes: http
und ftp
sind nur unterschiedliche Formate für die Übertragung von Dateien oder .docx
und . pptx
sind verschiedene Formate von Office-Dokumenten. Diese "nur Formatunterschiede" zu nennen ist grundsätzlich falsch. Die Software macht in beiden Fällen eine ganz andere Sache (obwohl sie das gleiche Endergebnis liefert; eine Datei überträgt oder ein hübsches Dokument erstellt).
Lassen Sie uns nun über Formate sprechen.
Sie möchten also einen privaten Schlüssel in einer Datei speichern? PEM ist ein Dateiformat zum Speichern allgemeiner kryptografischer Informationen, es gibt jedoch auch andere Dateiformate. PEM kann für viele Zwecke verwendet werden: für private Schlüssel oder Zertifikate oder für den Text einer E-Mail, die Sie verschlüsseln oder signieren möchten. Es ist nur ein Container "kryptografisches Zeug".
Analogiezeit: Speichern eines Word-Dokuments. Sie können es im alten .doc
-Format speichern, das von allen Office-Versionen und auch von Open Source-Programmen allgemein akzeptiert wird (PEM ist ebenfalls älter und allgemein anerkannt), oder Sie können das neuere verwenden .docx
-Format (das -o
OpenSSH-Format). Manchmal sind neue Funktionen nicht abwärtskompatibel und können nur im neuen Format (wie ed25519) gespeichert werden.
(Vielen Dank an @GordonDavisson für diese Analogie)
Mit Ausnahme von rückwärts Kompatibilität, welches Format Sie wählen, hat wirklich nichts mit dem Inhalt der Datei zu tun.
Beispiele:
PEM-Format mit einem RSA-Schlüssel.
Beachten Sie dies Die Nachricht beginnt mit ----- BEGIN RSA PRIVATE KEY -----
. Dies ist das branchenweite Standard-PEM-Format. Jede Software, die PEM lesen kann, kann Folgendes lesen:
$ ssh-keygen -a 100 -t rsa $ cat .ssh / id_rsa ----- BEGIN RSA PRIVATE KEY ----- MIIEowIBAAKCAQEAwTLkTDZUisg0M / 3BDBOjrmBvJXb8cdfveGG1KQhAhFDLMp5wXKgGFMy339m3TGB1 + ekKoXnX3dcRQtpQbuFeDB59cmKpDGZz7BzfetpjeIOGCzG + Vt2BnDf2OlKb6EE7tC3PSmFgL0nQPSyz8x7rE7CMOQEnz1tKkK9Gpttcku8ifwmdLAHlVaTV3BIiFJN23fwe7l0czFaV98iy8YRgk / Av3gRlsBABGT5qD8wPiI4YgpxvUuT2kq53lhBTWO9hIth5tUU0N7x7QN6 / rRSi2uHcmJYXFkpsLie697G17TN5ln3EX5frsrjVyu0JhjvC5mlRBudSJWcWm / KrcTQxdQIDAQABAoIBAFR6n WtZ4nPhATquveg6 + jq4vkEim1ZodrUr / FxZ2GRDM + cJctaBPk + ACPMgL099ankB1v0u2x6M + WZDMiKZ91bTSkVnMMZUUmIvaeU9c3tx / 34LnVA8gX0 + 1zM / hh7zz1iFI3xBwh5LZ3wofPNVVLOCYn5WrAK2x48mpX02tG8m0OY5kdCdFW1f6UbCGk3K9ov82yQ + JbjWydOSZaS7bnJCRsjDhPm / Ooe2DZ8CKHRO3DOiZAAFYqsosxM2C12 + Alc + hdKHoJ0pWZWeeckZiALTENi + PzgSq4ykdBaoreeI84lpIzYQO06rrjM2 / fw1x / SQsDYhCsQnNRib
sipl2mECgYEA74rBQDIEWaIVVZ72foeZYOMmAUKCLQtNxVuGl / XoMZO3evN2vbOvNw / nn5lVt6PRykVUUl6yb5gHvRSGtGJSB1q6pBVN1EF2sfvUep6mmpEwbSbENiAXIftE0ap7PKT1aLKbLllwdsJlLCRMJIk07AvsulbkhSC + UmJVkfjblgkCgYEAznkEfzmWS358MLxb0JM 4v1DO + / + 1ne8z29ddHNppxSNj2Xjf MMvOY4KaRQa8dMwc3Eqa1EvPqnK6ila4L08Ai4CyWoGkkkIQBO9jO3mLp24xk6TRo002DbfJRnu4qW4zerypgYeFfBzwhc / IQKjXhv8AAfEUFCSYiFaWBsENuw0CgYEAwmyDyCAQqdPFrzYT6cUTt7EGYtVhpT / cgshz6Rk9uiekL9Y2VWjnWTC liq1iRUdLSiydRzJhYwHE + + / + 6GaUH4VJB1PY5soLj3TiCUHg z4vym1VwwmGvhPRV + jt + RU26ppz5GVic0LeduINJjgoTe1d + cAwg9PELqQCJZa5wREkCgYBPEuPZAaoAsalIVOro32uHLS1xrSPTsvSlxFO orleB9Ga1eDguT0KuTrx0pmcNYucBmpzgbE + / + ev7b khBvgTcaGZl6R6o8OoHqdKcNXl5nucXv1iWLPzVlhxchQd8w / qtN9HHDKrflIm9BY2Qzdj1F3XeSIDDEhzkohyE66yhhQKBgGh9knh8SxnVxaPk0Rk / bQope9AwIDuIpfsf4KC / EPSZmMNHP8xBh8aleymUot7Pj6dck31V4C3q74NKobY3p6fZ5t7tP9K6Br + J / FQFhvAdFAwpTD2Bks5HfhZO5cniPpydb0YvOnoaVnb0nzXVsf1jIgPKfsCsZxoyE0jLb9oV ----- END RSA PRIVATE KEY -----
OpenSSH-Format mit einem ed25519-Schlüssel:
Zusätzlich zu sho rter (weil ECC-Schlüssel nur so so viel kürzer sind) bemerken, dass die Nachricht mit ---- BEGIN OPENSSH PRIVATE KEY beginnt -----
, dies ist in OpenSSH- spezifisches Format, das andere Software möglicherweise lesen kann oder nicht:
$ ssh-keygen -o -a 100 -t ed25519 $ cat .ssh / id_ed25519.o ----- BEGIN OPENSSH PRIVATE KEY ----- b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZWQyNTUxOQAAACC7gIlwBMp + H6VVNZSHI0in2iCU / yi67WfeFPfuyAdkBAAAAJh7nk7je55O4wAAAAtzc2gtZWQyNTUxOQAAACC7gIlwBMp + H6VVNZSHI0in2iCU / yi67WfeFPfuyAdkBAAAAEBHl + qBAosBAUIGuvdDR8gJN / PEhempLe4NtyKiO7hCPLuAiXAEyn4fpVU1lIcjSKfaIJT / KLrtZ94U9 + 7IB2QEAAAAEm1pa2VATWlrZS1zYW1zdW5nMQECAw == ----- END OPENSSH PRIVATE KEY -----