ssh-keygen 和 openssl 给出了两个不同的公钥

Posted

技术标签:

【中文标题】ssh-keygen 和 openssl 给出了两个不同的公钥【英文标题】:ssh-keygen and openssl gives two different public keys 【发布时间】:2018-04-02 21:25:10 【问题描述】:

ssh-keygen & openssl 是否有可能从同一个私钥生成两个不同的公钥?命令ssh-keygen -y -f ./my.key 为使用命令openssl rsa -in my.key -pubout 生成的公钥(内容在-----BEGIN PUBLIC KEY----------END PUBLIC KEY----- 之间)提供(同一行中ssh-rsa 之后的内容)不同的公钥。

【问题讨论】:

Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Unix & Linux Stack Exchange 会是一个更好的提问地点。 不错!很高兴找到这个问题的答案。 【参考方案1】:

这是相同的键,但表示不同。 OpenSSL 在 ASN.1 中使用 X.509 SubjectPublicKeyInfo,通常(包括这里)包装在 PEM 中; OpenSSH(SSHv1 的“rsa1”密钥已损坏且您不应该使用除外)使用 base64 中的类似 XDR 的 SSH 线路格式。

欺骗或接近欺骗:Convert pem key to ssh-rsa formatRSA Public Key formatConvert RSA public key to RSA DERConverting an OpenSSL generated RSA public key to OpenSSH format (php)How to convert RSA key to ssh-rsaHow to store/retrieve RSA public/private key(埋在中间) 而不太明显的跨栈https://security.stackexchange.com/questions/42268/how-do-i-get-the-rsa-bit-length-with-the-pubkey-and-openssl

【讨论】:

以上是关于ssh-keygen 和 openssl 给出了两个不同的公钥的主要内容,如果未能解决你的问题,请参考以下文章

使用 OpenSSL 和公钥 ssh-keygen 为 SSH 生成私钥

使用 ssh-keygen / OpenSSL 生成 SSH 密钥

OpenSSL与OpenMP一起使用,给出了分段错误[重复]

ssh(不是openssh) 做无密码登陆,怎么每次ssh 登陆还是要输入密码呀?

详解Linux(centos7)下安装OpenSSL安装图文方法

openssl req(生成证书请求和自建CA)