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
ですか?