下面的命令生成包含公共和私有密钥的文件:如何使用OpenSSL提取公钥?
openssl genrsa -des3 -out privkey.pem 2048
来源:here
OpenSSL的,该专用密钥包括公钥信息以及,所以公钥没有按不需要单独生成
我们如何从privkey.pem文件中提取公钥?
谢谢。
下面的命令生成包含公共和私有密钥的文件:如何使用OpenSSL提取公钥?
openssl genrsa -des3 -out privkey.pem 2048
来源:here
OpenSSL的,该专用密钥包括公钥信息以及,所以公钥没有按不需要单独生成
我们如何从privkey.pem文件中提取公钥?
谢谢。
openssl rsa -in privkey.pem -pubout > key.pub
写入公钥key.pub
对于那些有兴趣的细节 - 你可以看到什么是公共密钥文件中(如上所述产生的),这样做: -
openssl rsa -noout -text -inform PEM -in key.pub -pubin
或私钥文件,这一点: -
openssl rsa -noout -text -in key.private
其输出为文本在控制台上,密钥的实际组成部分(模数,指数,素数......)
尽管上述技术适用于一般情况,但它不适用于Amazon Web Services(AWS)PEM文件。
我确实发现在AWS文档以下命令作品: ssh-keygen -y
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
如果您寻找如何将亚马逊AWS .pem
密钥对复制到不同的 区域执行以下操作:
openssl rsa -in .ssh/amazon-aws.pem -pubout > .ssh/amazon-aws.pub
Then
aws ec2 import-key-pair --key-name amazon-aws --public-key-material '$(cat .ssh/amazon-aws.pub)' --region us-west-2
'openssl'的公共密钥输出夹在PEM头中,在AWS CLI接受之前您必须将其删除键。 – 2016-04-22 09:49:38
对于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中工作。
非常感谢! – Jake 2012-04-22 19:23:35
欢迎:) – stewe 2012-04-22 19:28:04
总是更好地使用内部选项来执行此操作:'-out',例如: 'openssl rsa -in privkey.pem -pubout -out key.pub'而不是将stdout重定向到文件。 – 2016-11-09 09:03:48