如何使用OpenSSL提取公钥?
以下命令将生成一个包含公钥和私钥的文件:
openssl genrsa -des3 -out privkey.pem 2048 来源: 这里
使用OpenSSL,私钥也包含公钥信息,因此不需要单独生成公钥
我们如何从privkey.pem文件中提取公钥?
谢谢。
 openssl rsa -in privkey.pem -pubout > key.pub 
 这将公钥写入key.pub 
尽pipe上述技术适用于一般情况,但它不适用于Amazon Web Services(AWS)PEM文件。
 我在AWS文档中find了以下命令: ssh-keygen -y 
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
对于那些对细节感兴趣的人 – 你可以看到公钥文件里面有什么(如上面所解释的那样),做到这一点:
 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中工作。