Ich habe unter AWS EC2 eine neue Windows-Instanz mit einem Schlüsselpaar erstellt, das ich durch Hochladen meines öffentlichen Schlüssels von meinem lokalen Computer erstellt habe.
Die Instanz wurde ordnungsgemäß gestartet, das Kennwort wird jedoch nicht entschlüsselt. Es berichtet:
Ich bin sicher, dass ich den richtigen Schlüssel hochgeladen habe. Ich habe überprüft, ob die Fingerabdrücke mit dem von AWS verwendeten seltsamen Fingerabdruckformat übereinstimmen . Aber es wird einfach nicht entschlüsselt.
Ich habe versucht, die Schlüsseldatei hochzuladen und in das Formular einzufügen.
Irgendwann habe ich herausgefunden, dass die nachgestellte Zeile nicht entfernt wird, und die leere Zeile im Schlüssel gelöscht. Das bringt mich nur zu einem neuen Fehler, wenn ich auf "Passwort entschlüsseln" klicke:
quelle
aws ec2 get-password-data "--instance-id=${instance_id}" | jq -r .PasswordData | base64 -D | openssl rsautl -decrypt -inkey ${my_key}
(verwendet aws-cli und jq ).-d
ja-D
bei mir funktioniert.aws ec2 get-password-data "--instance-id=${instance_id}" | jq -r .PasswordData | base64 -D | openssl rsautl -decrypt -inkey ${my_key} | pbcopy
... der das Passwort direkt in Ihre Zwischenablage sendet.Ohne die Verwendung von jq ist dies weiterhin möglich, erfordert jedoch ein zusätzliches Parsen der zurückgegebenen Daten.
quelle
base64 -d
eher als verwenden-D
.Das hat bei mir unter macOS funktioniert:
openssl rsa -in $HOME/.ssh/aws-remote -out /Users/home/desktop/unencrypted-rsa.txt
Beachten Sie, dass Sie anhand der folgenden Zeile feststellen können, ob Ihre PEM-Datei mit einem Kennwort verschlüsselt ist. Wenn es vorhanden ist, müssen Sie es entschlüsseln, bevor Sie es mit Amazon verwenden können:
quelle
Auf meinem Mac unterscheiden sich die Befehlszeilenargumente für base64.
Das hat bei mir funktioniert:
quelle
das wird funktionieren
quelle