我正在开发一个需要生成 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.....
是否可以在不使用 Ruby 的情况下生成 SSH 密钥或将 RSA 密钥转换为 SSH ssh-keygen
?