我正在开发一个 Ruby/Rack 应用程序,需要生成SSH密钥对。虽然我很想从应用程序中调用 ssh-keygen
,但我不能这样做,因为它是设计运行在Heroku上,而他们不支持调用该命令。
我已经成功使用Ruby标准库中的OpenSSL获取了私钥/公钥 RSA 密钥,方法如下:
key = OpenSSL::PKey::RSA.generate(2048)
# => -----BEGIN RSA PRIVATE KEY----- ....
key.public_key
# => -----BEGIN RSA PUBLIC KEY----- ....
很遗憾,RSA公钥和SSH公钥不是同一种东西,尽管它们可以从同一个RSA密钥生成。SSH公钥看起来像以下内容:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwA.....
在 Ruby 中是否有可能生成 SSH 密钥或将 RSA 密钥转换为 SSH,而不使用ssh-keygen
?