Ssh-keygenを使用して鍵ペアを作成し、2つの古典的なid_rsaとid_rsa.pubを取得しました。
公開鍵をAWS EC2アカウントにインポートしました。
次に、Windowsインスタンスを作成し、そのインスタンスパスワードを復号化するために、AWSコンソールから.pemファイルを要求されます。 2つのid_rsaおよびid_rsa.pubファイルから.pemファイルを取得するにはどうすればよいですか?
this によると、このコマンドを使用できます。
ssh-keygen -f id_rsa -e -m pem
これにより、publicキーがOpenSSL互換の形式に変換されます。 privateキーはすでにPEM形式であり、そのまま使用できます(Michael Hamptonが述べたとおり)。
AWSがPEM形式の(X.509)証明書を要求していないかどうかを再確認します。これは、SSHキーとは異なります。
ssh-keygen
を使用して.pem形式でキーをエクスポートすると、うまくいきました。
ssh-keygen -f id_rsa.pub -m 'PEM' -e > id_rsa.pem
次に、必要に応じて.pem
キーをコピーします。
参考のために:
-f id_rsa.pub
部分は、読み取り元の入力ファイルを示します-m 'PEM
はPEMファイルタイプを示します-e
オプションは、出力がエクスポートされることを示しますid_rsa
は、Windows EC2インスタンスのパスワードを復号化するために使用する必要があるファイルですが、コピーして貼り付けるファイルは、フレーズで保護されていないことを確認してください。
一時的に保護されていないid_rsa
ファイルを取得する問題を次のように解決しました:
$ openssl rsa -in ~/.ssh/id_rsa -out tmp_file.pem
最初は、ssh-keygen
、AWS EC2と互換性のある公開キーを生成できましたが、互換性のある秘密キーの作成に問題がありました。以下は、AWS EC2と互換性のある公開鍵と秘密鍵のペアを作成します。
ssh-keygen -P "" -t rsa -b 4096 -m pem -f my-key-pair
各パラメータの情報は次のとおりです。
リソース:
Ssh-keygenの詳細については、次を参照してください。 https://man.openbsd.org/ssh-keygen.1
AWS-EC2キーペア- https://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
EC2インスタンスを起動するとき、それにキーペア(またはなし)を割り当てます。後で変更することはできません。
そのキーペアの.pemファイルのみを使用して、Windowsパスワードを復号化できます。
.pemファイルは、キーペアの作成時にダウンロードされています。あなたはそれを再び得ることはできません。失ったら運が悪い。
インスタンスを起動してインスタンスに割り当てる前にそのキーをAWSにインポートしない限り、自分で生成した.pemファイルを使用することはできません。
簡単に言うと、元の.pemファイルがない場合、パスワードを取得できません。
編集:質問をもう一度読んだ後、OPが彼のキーをAWSにインポートしたことに気付きました。