Unser Oracle-Dienst migriert Server in die Oracle Cloud. Wir müssen den Host für unseren SFTP-Zugriff ändern. „Die Authentifizierung über Ihren SCP-Anmeldenamen und SSH2-Schlüssel bleibt gleich, wenn Ihr aktueller SSH2-Schlüssel ein OpenSSH-Schlüssel ist.“
Wir können eine Verbindung zum neuen Host herstellen, obwohl die Migration noch nicht stattgefunden hat. Ich möchte bestätigen, dass mein Schlüsselpaar im OpenSSH-Format vorliegt. Gibt es eine Möglichkeit, dies zu tun?
Antwort1
Angenommen, die Frage betrifft die private Schlüsseldatei: Wenn Sie könnenbenutze esbei OpenSSHs ssh
und sftp
Clients, dann ist es „ein OpenSSH-Schlüssel“ – der Server kann den Unterschied nicht wirklich erkennen.
Das Format ist nur dann wichtig, wennInstallierender öffentliche Schlüssel auf dem Server (d. h. beim Hinzufügen zu OpenSSHs authorized_keys
oder ähnlichem), aber aus der zitierten Nachricht klingt es so, als wäre dies bereits zuvor geschehen (d. h. vorhandene Schlüssel wurden übernommen), sodass dies hier wahrscheinlich kein Problem darstellt.
Es gibt keine große Standardisierung zwischen den SchlüsselDateifür SSH2 verwendete Formate; sie unterscheiden sich jedoch alle nur in ihrer „Verpackung“ – die tatsächlich in ihnen gespeicherten Daten sind dieselben, sodass derselbe Schlüssel beispielsweise zwischen den Formaten OpenSSH und PuTTY sowie PKCS#8 und SSH.COM frei konvertiert werden kann.
Insbesondere hat ein Server keine Möglichkeit zu wissen, ob Sie einen „OpenSSH-Schlüssel“ auf Ihrer Seite haben. Was von SSH-Clients über das Netzwerk gesendet wirdIstwird immer in einem Standardformat gesendet (und nur der öffentliche Schlüssel wird gesendet); der SSH-Client lädt das von ihm verwendete Schlüsseldateiformat und erstellt automatisch das richtige Netzwerkformat, das während der Authentifizierung an den Server gesendet werden soll.
Die meisten von SSH-Software verwendeten Schlüsselformate sind textbasiert, Sie können sie also mit dem Editor öffnen:
- Eine lange Zeile, die mit „–“ beginnt
ssh-XXX AAAAxxxxx...
: einem öffentlichen OpenSSH-Schlüssel. - Beginnt mit
-----BEGIN OPENSSH PRIVATE KEY-----
– einem privaten OpenSSH-Schlüssel (oft „neues Format“ oder „OpenSSH-Format“ genannt). - Beginnt mit
-----BEGIN PRIVATE KEY-----
– einem privaten PKCS#8-Schlüssel, der von älteren OpenSSH-Versionen erstellt wurde (oft als „PEM-Format“ oder „OpenSSL-Format“ bezeichnet). - Beginnt mit
-----BEGIN ENCRYPTED PRIVATE KEY-----
– ebenfalls PKCS#8, aber mit einer Passphrase. - Beginnt mit
-----BEGIN RSA PRIVATE KEY-----
– einem privaten PKCS#1-Schlüssel, ähnlich wie PKCS#8, aber älter. (Wird wiederum oft als „PEM-Format“ bezeichnet und stammt von OpenSSL.) - Beginnt mit
PuTTY-User-Key-File-2
– einem privaten PuTTY-Schlüssel. - Beginnt mit
---- END SSH2 PUBLIC KEY ----
– einem öffentlichen SSH.COM-Schlüssel. (Es handelt sich um ein kommerzielles SSHv2-Client/Server-Produkt, das gerne behauptet, „das“ SSH zu sein.) - Beginnt mit
---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----
– einem privaten SSH.COM-Schlüssel.
Fast immer kann eine Kombination aus puttygen
oder ssh-keygen
Befehlen verwendet werden, um den Schlüssel von einem Format in ein anderes zu konvertieren.