Следующая команда создает файл, содержащий как открытый, так и закрытый ключ:
openssl genrsa -des3 -out privkey.pem 2048
Источник: здесь
В OpenSSL закрытый ключ также содержит информацию об открытом ключе, поэтому открытый ключ не нужно создавать отдельно.
Как мы можем извлечь открытый ключ из файла privkey.pem?
Спасибо.
Ответы:
Это записывает открытый ключ в
key.pub
источник
-out
например:openssl rsa -in privkey.pem -pubout -out key.pub
вместо перенаправления stdout в файл.Хотя описанный выше метод работает в общем случае, он не работает с файлами PEM Amazon Web Services (AWS).
Я нашел в документах AWS, что работает следующая команда:
ssh-keygen -y
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
edit Спасибо @makenova за полную строку:
источник
ssh-keygen -y -f key.pem > key.pub
ssh-keygen -y -f key.pem
key.pem
, что может помешать вам войти в экземпляры, требующие этого ключа!ssh -i
, убедитесь, что выДля тех, кто интересуется деталями - вы можете увидеть, что находится внутри файла открытого ключа (сгенерированного, как описано выше), выполнив следующие действия: -
или для файла закрытого ключа это: -
который выводит в виде текста на консоль фактические компоненты ключа (модуль, показатель степени, простые числа, ...)
источник
Если вы хотите скопировать
.pem
пару ключей Amazon AWS в другой регион, сделайте следующее:затем
источник
openssl
заключен в заголовки PEM, которые необходимо удалить, прежде чем интерфейс командной строки AWS примет ключ.Для AWS, импортирующего существующий открытый ключ,
Экспорт из .pem делает это ... (в Linux)
Это создаст файл, который, если вы откроете его в текстовом редакторе, выглядит примерно так ...
Однако AWS НЕ примет этот файл.
Вы должны удалить
-----BEGIN PUBLIC KEY-----
и-----END PUBLIC KEY-----
из файла. Сохраните его и импортируйте, и он должен работать в AWS.источник
ssh-rsa AAAAB3NzaC1y....
запуска:ssh-keygen -f PublicKey.pub -i -mPKCS8