如何使用OpenSSL提取公钥?

如何使用OpenSSL提取公钥?,openssl,public-key-encryption,pki,Openssl,Public Key Encryption,Pki,以下命令生成一个包含公钥和私钥的文件: openssl genrsa -des3 -out privkey.pem 2048 资料来源: 使用OpenSSL,私钥也包含公钥信息,因此不需要单独生成公钥 如何从privkey.pem文件中提取公钥 谢谢 openssl rsa -in privkey.pem -pubout > key.pub 这会将公钥写入key.pub,对于那些对详细信息感兴趣的人,您可以通过执行以下操作查看公钥文件(如上所述生成)中的内容:- openssl rsa

以下命令生成一个包含公钥和私钥的文件:

openssl genrsa -des3 -out privkey.pem 2048
资料来源:

使用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

编辑 感谢@makenova提供完整的产品线:

ssh-keygen -y -f key.pem > key.pub

如果您想了解如何将Amazon AWS
.pem
密钥对复制到不同的 请执行以下操作:

openssl rsa -in .ssh/amazon-aws.pem -pubout > .ssh/amazon-aws.pub
然后


对于AWS导入现有公钥

  • 从.pem导出正在执行此操作。。。(在linux上)

  • 这将产生一个文件,如果你在一个文本编辑器中打开,看起来像这样

    -----BEGIN PUBLIC KEY-----
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn/8y3uYCQxSXZ58OYceG
    A4uPdGHZXDYOQR11xcHTrH13jJEzdkYZG8irtyG+m3Jb6f9F8WkmTZxl+4YtkJdN
    9WyrKhxq4Vbt42BthadX3Ty/pKkJ81Qn8KjxWoL+SMaCGFzRlfWsFju9Q5C7+aTj
    eEKyFujH5bUTGX87nULRfg67tmtxBlT8WWWtFe2O/wedBTGGQxXMpwh4ObjLl3Qh
    bfwxlBbh2N4471TyrErv04lbNecGaQqYxGrY8Ot3l2V2fXCzghAQg26Hc4dR2wyA
    PPgWq78db+gU3QsePeo2Ki5sonkcyQQQlCkL35Asbv8khvk90gist4kijPnVBCuv
    cwIDAQAB
    -----END PUBLIC KEY-----
    
  • 但是,AWS将不接受此文件

    您必须从文件中删除
    ----BEGIN公钥---
    ----END公钥---
    。保存并导入,它应该可以在AWS中工作


  • 谢谢这是我需要的。要跳过提示,可以使用
    ssh-keygen-y-f key.pem>key.pub
    这是正确的答案
    ssh-keygen-y-f key.pem
    这是在问我密码,但我没有输入任何密码passphrase@makenova这将在
    key.pem
    中重新生成密钥,这可能会阻止您登录到需要该密钥的实例!如果您遇到了与@kavan相同的问题,其中它要求您输入未输入的密码短语,并且您正在将密钥与
    ssh-i
    一起使用,请确保您是
    openssl
    输出的公钥,并将其夹在PEM头中,在AWS CLI接受密钥之前,您必须删除它。最好使用内部选项执行此操作:
    -out
    ,例如:
    openssl rsa-in-privkey.pem-pubout-out key.pub
    而不是将stdout重定向到文件。如果需要将此格式转换为
    ssh-rsa aaaaaab3nzac1y…
    运行:
    ssh-keygen-f PublicKey.pub-i-mPKCS8
    @anish不应鼓励人们将私钥粘贴到随机的web表单中。从安全的角度来看,这是非常令人不安的,考虑到您构建的“工具”,这也是自我提升。请删除您的评论。
    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-----