O comando a seguir gera um arquivo que contém as chaves pública e privada:
openssl genrsa -des3 -out privkey.pem 2048
Fonte: aqui
Com o OpenSSL, a chave privada também contém as informações da chave pública, portanto, uma chave pública não precisa ser gerada separadamente
Como podemos extrair a chave pública do arquivo privkey.pem?
Obrigado.
Respostas:
Que grava a chave pública para
key.pub
fonte
-out
por exemplo: emopenssl rsa -in privkey.pem -pubout -out key.pub
vez de redirecionar o stdout para um arquivo.Porém, a técnica acima funciona para o caso geral, ela não funcionou em arquivos PEM da Amazon Web Services (AWS).
Encontrei nos documentos da AWS o seguinte comando funciona:
ssh-keygen -y
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
editar Obrigado @makenova pela linha completa:
fonte
ssh-keygen -y -f key.pem > key.pub
ssh-keygen -y -f key.pem
key.pem
, o que pode impedir você de fazer login em instâncias que requerem essa chave!ssh -i
, certifique-se de fazer um link para sua chave privada, não a públicaPara os interessados nos detalhes - você pode ver o que está dentro do arquivo de chave pública (gerado conforme explicado acima), fazendo isto: -
ou para o arquivo de chave privada, isto: -
que mostra como texto no console os componentes reais da chave (módulo, expoentes, primos, ...)
fonte
Se você está procurando como copiar um
.pem
par de chaves Amazon AWS em uma região diferente, faça o seguinte:Então
fonte
openssl
é ensanduichada em cabeçalhos PEM, que você terá que remover antes que o AWS CLI aceite a chave.Para AWS importando uma chave pública existente,
Exporte do .pem fazendo isso ... (no linux)
Isso produzirá um arquivo que se você abrir em um editor de texto parecido com este ...
No entanto, a AWS NÃO aceitará esse arquivo.
Você tem que remover o
-----BEGIN PUBLIC KEY-----
e-----END PUBLIC KEY-----
do arquivo. Salve e importe e ele deve funcionar na AWS.fonte
ssh-rsa AAAAB3NzaC1y....
rodar:ssh-keygen -f PublicKey.pub -i -mPKCS8