Kann die Passphrase in eine private Schlüsseldatei eingebettet werden?

415
Dims

Ich habe die Schlüsseldatei

----BEGIN RSA PRIVATE KEY----- SOMEGARBAGECHARACTERS -----END RSA PRIVATE KEY----- 

aber wenn ich versuche, es mit ssh zu verwenden, fragt es nach einer Passphrase:

ssh -i mykey.pem myuser@myserver.amazonaws.com Enter passphrase for key 'mykey.pem': 

Bedeutet das nur, dass in dieser Datei einige Schlüsselwörter codiert sind? Oder bedeutet etwas anderes?

AKTUALISIEREN

Keine DEK-Zeilen oder so. Nur homogene Masse von zufälligen Zeichen.

UPDATE 2

Die Schlüsseldatei war irgendwie beschädigt. Ich habe es per E-Mail erhalten und in den Texteditor kopiert. Es gab keine offensichtlichen Unterschiede, aber tatsächlich waren sie da. Nachdem ich die E-Mail mit dem rohen Editor und dem Kopieren / Einfügen des Schlüssels auf diese Weise geöffnet hatte, funktionierte alles.

Wie von @Jakuje vorgeschlagen, habe ich ein opensslWerkzeug verwendet und es wurde ein Fehler gemeldet.

1
Gibt es oben eine Zeile "DEK-Info:"? grawity vor 7 Jahren 0
Einige Beispielschlüssel, hier und nicht codiert. http://serverfault.com/a/628980/984 Zoredache vor 7 Jahren 1
Die Passphrase befindet sich nicht im privaten Schlüssel, die Passphrase befindet sich nur im Arbeitsspeicher des Benutzers, die Passphrase schützt den privaten Schlüssel. daniel Azuelos vor 7 Jahren 0
@danielAzuelos Ich schwöre, ich habe keine Passphrase in meinem Gedächtnis Dims vor 7 Jahren 0
Beschreiben Sie dann, wie Sie dieses Paar (privater Schlüssel, öffentlicher Schlüssel) erstellt haben. Der Ursprung des Problems steht da. daniel Azuelos vor 7 Jahren 0
Haben Sie Ihren privaten Schlüssel mit einem Texteditor geöffnet (`vi`,` emacs`, `Word`,` TexteEdit`, `Pages`)? Wenn ja, beachten Sie bitte die Antwort von @Jakuje. daniel Azuelos vor 7 Jahren 0

3 Antworten auf die Frage

3
Jakuje

OpenSSH fragt nach einer Passphrase für jede Mülleimer-Eingabe. Es gibt einen offenen Bug für diesen Upstream. Dies kann für viele Benutzer sehr verwirrend sein.

Sie können nur überprüfen, was dahinter steht, indem Sie openssl direkt verwenden:

openssl rsa -text <mykey.pem 

Es sollte nach einer Passphrase fragen oder einen anderen Fehler im Schlüssel melden.

2
grawity

Dies bedeutet, dass der Schlüssel selbst mit einer Passphrase verschlüsselt wurde. Um sich mit dem Schlüssel anzumelden, muss ssh es zuerst entschlüsseln.

Bist du absolut sicher Es gibt keine DEK-Zeilen oder etwas in der Datei. Dims vor 7 Jahren 0
In diesem Fall siehe die Antwort von Jakuje. grawity vor 7 Jahren 0
0
SPRBRN

Wenn Sie einen privaten Schlüssel erstellen, können Sie ihn mit einem Kennwort schützen. Wenn Sie zu 100% sicher sind, dass niemand (und kein Virus oder irgendetwas) diesen Schlüssel jemals kopieren wird, können Sie darauf verzichten. Das Gleiche gilt, wenn der Schlüssel für etwas gilt, das keinen Wert hat wie eine lokale Testmaschine, auf der nichts von Bedeutung ist. Ansonsten ist es ratsam, ein Passwort zu verwenden.

Wenn der private Schlüssel geschützt ist, wird der Schlüssel mit diesem Kennwort verschlüsselt, und Sie müssen das Kennwort zum Entsperren des Schlüssels verwenden. Daher ist es normal, dass SSH nach einem Kennwort fragt, um den Schlüssel zu verwenden.