【发布时间】:2011-07-13 07:49:36
【问题描述】:
我正在开发一个需要生成 SSH 密钥对的 Ruby/Rack 应用程序。尽管我想从应用程序中调用 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.....
是否可以在不使用ssh-keygen 的情况下在 Ruby 中生成 SSH 密钥或将 RSA 密钥转换为 SSH?
【问题讨论】: