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

使用OpenSSL和公钥ssh-keygen为ssh生成私钥,ssh,openssl,ssh-keygen,Ssh,Openssl,Ssh Keygen,我正在尝试使用openssl生成一个安全的私钥和公钥,以便与我的云托管提供商一起使用,但当我这样做时,openssl的公钥输出未被识别 $ openssl genrsa -out private.pem -passout file:password.txt 2048 生成RSA私钥后,2048位长模,然后 $ openssl rsa -in private.pem -passin file:password.txt -pubout -out public.pem 它编写了RSA公钥。输

我正在尝试使用openssl生成一个安全的私钥和公钥,以便与我的云托管提供商一起使用,但当我这样做时,openssl的公钥输出未被识别

$ openssl genrsa -out private.pem -passout file:password.txt  2048
生成RSA私钥后,2048位长模,然后

$ openssl rsa -in private.pem -passin file:password.txt   -pubout -out public.pem
它编写了RSA公钥。输出如下所示:

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuefPvX5Bih6GYbr1eTNf
Fa++DvhHg4nxcXZAor7gNEM1+XPY2wxG2r2g/Jub6OWHd8GDAf6SBCCld+alC9WS
KnAd2qz34yBzG4pJ5/tLux1yX5k45BPTcTHfZGmFlAxsSNTZVh5Zh9KYUpsklKOW
2Pb5gwlMvweIoqf0lqrNqX8agDWzAn4bRbW8ZeNKUuNuccx4PlFwMg4lEcPypcCL
HPAHGiQTR1xZ/jlohFMIH1cGCBVC4kuaEtUi3Qer9wzuvh376RQPnKD0jJgraiDM
pSrdMeH+0eJfqckM8pJ99F/kfKWcGtk6l1AJX511xsPLDTHxaP/ry8zlaAJ1vH9o
3wIDAQAB
-----END PUBLIC KEY-----
这是标准格式,对于其他用途非常有用,但所有云和托管提供商都需要这样的公钥:

ssh-rsa XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX==
这是他们唯一认可的有效格式

我知道ssh-keygen可以轻松做到这一切,但我正在使用当前最新的openssl版本1.0.2h,并对谷歌和红帽员工指出的一些漏洞进行安全修复


那么,如何使用从openssl生成的密钥获取ssh keygen公钥格式呢

在做了一些研究和实验之后,我找到了最简单的解决方案

使用密码长度为32个或更多字符的openssl生成安全私钥,然后使用ssh keygen命令获取所需的输出

ssh-keygen  -y -f private.pem > public_key.pub

它工作准确

在做了一些研究和实验之后,我找到了最简单的解决方案

使用密码长度为32个或更多字符的openssl生成安全私钥,然后使用ssh keygen命令获取所需的输出

ssh-keygen  -y -f private.pem > public_key.pub

它工作准确

Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。另请参阅。Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。另见。