Сгенерировать пары ключей SSH (частный / открытый) без ssh-keygen

Я работаю над приложением Ruby / Rack, которое требует для генерации пар ключей SSH. Как бы я ни хотел вызвать ssh-keygen из приложения, я не могу, потому что он разработан для работы на Heroku, и они не поддерживают вызов этой команды.

Я был возможность получить частные / открытые ключи RSA с помощью OpenSSL в стандартной библиотеке Ruby, выполнив следующие действия:

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 или преобразовать ключи RSA в SSH в Ruby без использования ssh-keygen ?

21
задан bensie 11 March 2011 в 08:00
поделиться