2016-05-19 7 views
1

Я пытаюсь создать безопасный закрытый и открытый ключ с помощью openssl для использования с моим провайдером облачного хостинга, но когда я сделал это, вывод открытого ключа из openssl не был распознан ,Генерировать закрытый ключ с открытым ключом и открытым ключом ssh-keygen для SSH

$ openssl genrsa -out private.pem -passout file:password.txt 2048 

После генерации RSA закрытого ключа, 2048 разрядного модуля, а затем

$ openssl rsa -in private.pem -passin file:password.txt -pubout -out public.pem 

Он написал открытый ключ RSA. Вывод что-то вроде этого:

-----BEGIN PUBLIC KEY----- 
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuefPvX5Bih6GYbr1eTNf 
Fa++DvhHg4nxcXZAor7gNEM1+XPY2wxG2r2g/Jub6OWHd8GDAf6SBCCld+alC9WS 
KnAd2qz34yBzG4pJ5/tLux1yX5k45BPTcTHfZGmFlAxsSNTZVh5Zh9KYUpsklKOW 
2Pb5gwlMvweIoqf0lqrNqX8agDWzAn4bRbW8ZeNKUuNuccx4PlFwMg4lEcPypcCL 
HPAHGiQTR1xZ/jlohFMIH1cGCBVC4kuaEtUi3Qer9wzuvh376RQPnKD0jJgraiDM 
pSrdMeH+0eJfqckM8pJ99F/kfKWcGtk6l1AJX511xsPLDTHxaP/ry8zlaAJ1vH9o 
3wIDAQAB 
-----END PUBLIC KEY----- 

Какой стандартный формат и он прекрасно работает для других целей, но все облака и хостинг-провайдеров нужно что-то подобное для открытого ключа:

ssh-rsa XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX== 

Это является только действительный формат, который они распознают.

Я знаю, что ssh-keygen может делать все это легко, но я использую последнюю версию openssl версии 1.0.2h с исправлением безопасности для некоторых уязвимостей, отмеченных сотрудниками Google и Red Hat.

Как я могу получить формат открытого ключа ssh-keygen с помощью моего ключа, сгенерированного из openssl?

+0

Stack Overflow - это сайт для вопросов программирования и разработки. Этот вопрос кажется вне темы, потому что речь идет не о программировании или разработке. См. [Какие темы можно задать здесь] (http://stackoverflow.com/help/on-topic) в Справочном центре. Возможно, лучше сказать [Суперпользователь] (http://superuser.com/) или [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/). Также см. [Где я пишу вопросы о Dev Ops?] (Http://meta.stackexchange.com/q/134306). – jww

+0

@jww отметил .. Спасибо – Sojimaxi

ответ

3

После ряда исследований и экспериментов я приземлился на простейшем решении.

Создайте секретный секретный ключ с помощью openssl с длиной пароля 32 или более символов, а затем используйте команду ssh-keygen для получения моего требуемого результата.

ssh-keygen -y -f private.pem > public_key.pub 

Он работает точно!

Смежные вопросы