次のコマンドは、公開キーと秘密キーの両方を含むファイルを生成します。
openssl genrsa -des3 -out privkey.pem 2048
ソース: here
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
edit行全体をありがとう@makenova:
ssh-keygen -y -f key.pem > key.pub
詳細に興味のある人のために-あなたはこれをすることで公開鍵ファイルの中身を見ることができます(上で説明したように生成されます):
openssl rsa -noout -text -inform PEM -in key.pub -pubin
または秘密鍵ファイルの場合、これ:
openssl rsa -noout -text -in key.private
キーの実際のコンポーネント(モジュラス、指数、素数など)をコンソール上のテキストとして出力します
Amazon AWS .pem
キーペアを別のリージョンにコピーする方法を探している場合は、次の手順を実行します。
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
既存の公開キーをインポートする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-----
と-----END PUBLIC KEY-----
を取り除く必要があります。保存してインポートすると、AWSで動作するはずです。