次のコマンドは、公開鍵と秘密鍵の両方を含むファイルを生成します。
openssl genrsa -des3 -out privkey.pem 2048
出典:こちら
OpenSSLでは、秘密鍵には公開鍵情報も含まれているため、公開鍵を個別に生成する必要はありません。
privkey.pemファイルから公開鍵を抽出するにはどうすればよいですか?
ありがとう。
次のコマンドは、公開鍵と秘密鍵の両方を含むファイルを生成します。
openssl genrsa -des3 -out privkey.pem 2048
出典:こちら
OpenSSLでは、秘密鍵には公開鍵情報も含まれているため、公開鍵を個別に生成する必要はありません。
privkey.pemファイルから公開鍵を抽出するにはどうすればよいですか?
ありがとう。
openssl rsa -in privkey.pem -pubout > key.pub
公開鍵をkey.pub
ただし、上記の手法は一般的なケースでは機能しますが、Amazon Web Services (AWS) PEM ファイルでは機能しませんでした。
AWS ドキュメントで、次のコマンドが機能することがわかりました。
ssh-keygen -y
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
編集 @makenova に完全な行をありがとう:
ssh-keygen -y -f key.pem > key.pub
AWS が既存の公開鍵をインポートする場合、
これを行う.pemからエクスポートします...(Linuxの場合)
openssl rsa -in ./AWSGeneratedKey.pem -pubout -out PublicKey.pub
これにより、テキストエディタで開くと次のようなファイルが生成されます...
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn/8y3uYCQxSXZ58OYceG
A4uPdGHZXDYOQR11xcHTrH13jJEzdkYZG8irtyG+m3Jb6f9F8WkmTZxl+4YtkJdN
9WyrKhxq4Vbt42BthadX3Ty/pKkJ81Qn8KjxWoL+SMaCGFzRlfWsFju9Q5C7+aTj
eEKyFujH5bUTGX87nULRfg67tmtxBlT8WWWtFe2O/wedBTGGQxXMpwh4ObjLl3Qh
bfwxlBbh2N4471TyrErv04lbNecGaQqYxGrY8Ot3l2V2fXCzghAQg26Hc4dR2wyA
PPgWq78db+gU3QsePeo2Ki5sonkcyQQQlCkL35Asbv8khvk90gist4kijPnVBCuv
cwIDAQAB
-----END PUBLIC KEY-----
ただし、AWS はこのファイルを受け入れません。
-----BEGIN PUBLIC KEY-----
ファイルからandを取り除く必要が-----END PUBLIC KEY-----
あります。保存してインポートすると、AWS で動作するはずです。
.pem
Amazon AWSキーペアを別のリージョンにコピーする方法をお探しの場合は、次の手順を実行してください。
openssl rsa -in .ssh/amazon-aws.pem -pubout > .ssh/amazon-aws.pub
それで
aws ec2 import-key-pair --key-name amazon-aws --public-key-material '$(cat .ssh/amazon-aws.pub)' --region us-west-2