Como obter um arquivo .pem do par de chaves ssh?

15

Eu criei um par de chaves usando ssh-keygen e obtive os dois clsicos id_rsa e id_rsa.pub.

Eu importei a chave pública para minha conta do AWS EC2.

Agora criei uma instância do windows e para descriptografar essa senha de instância, o console da AWS está me pedindo um arquivo .pem. Como posso obter esse arquivo .pem dos meus dois arquivos id_rsa e id_rsa.pub?

    
por gsi-frank 16.07.2015 / 20:27

4 respostas

24

De acordo com este , este comando pode ser usado:

ssh-keygen -f id_rsa -e -m pem

Isso converterá sua chave pública em um formato compatível com OpenSSL. Sua chave privada já está no formato PEM e pode ser usada como está (como Michael Hampton declarou).

Verifique se a AWS não está solicitando um (<509) certificado no formato PEM, o que seria ser uma coisa diferente das suas chaves SSH.

    
por 16.07.2015 / 20:38
12

Usar ssh-keygen para exportar a chave no formato .pem funcionou para mim.

ssh-keygen -f id_rsa.pub -m 'PEM' -e > id_rsa.pem

Em seguida, basta copiar a chave .pem , conforme necessário.

Para referência:

  • a parte -f id_rsa.pub indica o arquivo de entrada para ler
  • -m 'PEM indica um tipo de arquivo PEM
  • a opção -e indica que a saída será exportada
por 17.07.2015 / 00:43
4

id_rsa é o arquivo que você deve usar para descriptografar a senha da instância do Windows EC2, mas certifique-se de que o arquivo copiado e colado não esteja protegido por frase.

Eu resolvi o problema de temporariamente desproteger o arquivo id_rsa com algo como:

$ openssl rsa -in ~/.ssh/id_rsa -out tmp_file.pem
    
por 17.07.2015 / 00:04
0

Quando você inicia uma instância do EC2, atribui a ela um par de chaves (ou nenhum). Não pode ser alterado depois.

Somente usando esse arquivo .pem desse par de chaves, você poderá descriptografar a senha do Windows.

O arquivo .pem teria sido baixado quando o par de chaves foi criado. Você não pode obtê-lo novamente. Se você perdeu, você está sem sorte.

Você não pode usar um arquivo .pem gerado por você mesmo, a menos que tenha importado essa chave para a AWS antes de a instância ser lançada e atribuída à instância.

Simplificando, se você não tiver o arquivo .pem original, não poderá obter a senha.

Editar: depois de reler a pergunta, percebo que o OP importou a chave dele na AWS.

    
por 16.07.2015 / 21:44