Я работаю над приложением 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
?