正しいパスワードを使用しても、WindowsパスワードがAWS EC2で復号化されない

私は自分のローカルマシンから私の公開鍵をアップロードすることによって作成したキーペアを使用して、AWS EC2上に新しいWindowsインスタンスを作成しました。

インスタンスは正常に起動しましたが、パスワードは復号化されません。それは報告します:

Private key must begin with 指紋がAWSが使用する奇妙な指紋の形式と一致することを確認しました。しかし、それは復号化されません。

キーファイルをアップロードしてフォームに貼り付けてみました。

私は結局それが末尾の改行を取り除かないことを考え出し、そしてキーの空白行を削除しました。しかし、「パスワードの復号化」をクリックすると、新しいエラーが発生します。

There was an error decrypting your password. Please ensure that you have entered your private key correctly.

16

5 答え

AWS EC2のキー管理は、パスワードが設定されている(暗号化されている)SSHプライベートキーには対応していません。それはこれを検出せず、単に情報価値のないエラーで失敗します。

秘密鍵が暗号化されてディスクに保存されている場合(IMOなど)、AWSのコンソールに貼り付けるには復号化する必要があります。

その代わりに、パスワードをローカルで復号化することを検討してください。そうすれば、秘密鍵をAWSに送信する必要がなくなります。起動後、またはパスワードデータの取得または対応するAPIリクエスト。

その後、結果をbase64でデコードおよび復号化できます。

base64 -d /tmp/file | openssl rsautl -decrypt -inkey /path/to/aws/private/key.pem

(OpenSSHの秘密鍵は openssl rsautl によって受け付けられます)。

便利なエラーでパスワード保護されたキーを処理できないという問題は ec2-get-password コマンド

また見なさい:

16
追加された
ありがとう。ここに私の使用する完全なコマンドラインがあります。あなたの提案に従ってください。 aws ec2 get-password-data "--instance-id = $ {instance_id}" | jq -r .PasswordData | base64 -D | openssl rsautl -decrypt -inkey $ {my_key}aws-cli と<�を使用) a href = "https://github.com/stedolan/jq" rel = "nofollow noreferrer"> jq )
追加された 著者 joe ibbs,
base64が -d について文句を言うので、 -D が私のために働きます。 OS Xではim
追加された 著者 user122549,
OS Xでは、そのパイプにもう1つコマンドを追加したいと思います。 aws ec2 jq -r .PasswordData | base64 -D | openssl rsautl -decrypt -inkey $ {my_key} | pbcopy ...パスワードをクリップボードに直接送信します。
追加された 著者 GizmoChicken,

jqを使用しなくてもこれは可能ですが、返されたデータの追加解析が必要です。

aws ec2 get-password-data "--instance-id=${instance_id}" --query 'PasswordData' | sed 's/\"\\r\\n//' | sed 's/\\r\\n\"//' | base64 -D | openssl rsautl -inkey ${my_key} -decrypt
3
追加された

私のMacでは、base64のコマンドライン引数が異なります。

これは私のために働いた:

base64 -D -i /tmp/file | openssl rsautl -decrypt -inkey /path/to/key.pem
2
追加された

これが私にとってmacOSでうまくいったことです。

openssl rsa -in $ HOME/.ssh/aws-remote -out /Users/home/desktop/unencrypted-rsa.txt

次の行を探すことで、.pemファイルがパスワードで暗号化されているかどうかがわかります。存在する場合は、Amazonで使用する前に復号化する必要があります。

Proc-Type: 4,ENCRYPTED
1
追加された
  1. ec2ダッシュボードに移動
  2. 既存のキーを削除する
  3. 新しいキーペアを作成する
  4. 名前を選択してください
  5. ダウンロードしてローカルに保存する
  6. インスタンスを起動してWindowsインスタンスのコピーをダウンロードする
  7. 手順4で使用した名前で新しいキーペアに名前を付けます
  8. この新しく生成されたキーを使用してパスワードを復号化します

これはうまくいくでしょう

0
追加された
はい、うまくいきます。しかしそれはまた一種のポイントを逃す - 私はあなたがローカルキーをアップロードする場合を説明している。
追加された 著者 Craig Ringer,