Conversão Amazon .pem key em Putty .ppk key Linux

49

Eu gerei e baixei uma .pemchave privada da AWS. No entanto, para usar o Putty para conectar-se à máquina virtual, devo ter essa chave no .ppkformato. O processo de conversão é detalhado em aproximadamente 20 linhas aqui:

Estou usando o Linux Mint (uma distribuição do Ubuntu) e sei que posso usar o puttygen no terminal. No entanto, não tenho idéia de como usar essa ferramenta, nem como configurar os parâmetros necessários. Quando digito puttygen --help, recebo

PuTTYgen unidentified build, Aug  7 2013 12:24:58
Usage: puttygen ( keyfile | -t type [ -b bits ] )
                [ -C comment ] [ -P ] [ -q ]
                [ -o output-keyfile ] [ -O type | -l | -L | -p ]
  -t    specify key type when generating (rsa, dsa, rsa1)
  -b    specify number of bits when generating key
  -C    change or specify key comment
  -P    change key passphrase
  -q    quiet: do not display progress bar
  -O    specify output type:
           private             output PuTTY private key format
           private-openssh     export OpenSSH private key
           private-sshcom      export ssh.com private key
           public              standard / ssh.com public key
           public-openssh      OpenSSH public key
           fingerprint         output the key fingerprint
  -o    specify output file
  -l    equivalent to `-O fingerprint'
  -L    equivalent to `-O public-openssh'
  -p    equivalent to `-O public'

Mas não tenho idéia de como fazer o que o site me diz para fazer e todos os meus tentativos falharam até agora.

Como faço o que o site me diz para fazer, usando puttygen no terminal?

Flame_Phoenix
fonte

Respostas:

70

Usando a GUI

Veja estas perguntas e respostas sobre como fazer exatamente o que você deseja, intitulado: Converter PEM em formato de arquivo PPK .

excerto

  1. Faça o download do seu .pem da AWS
  2. Abra PuTTYgen, selecione Tipo de chave a ser gerada como: SSH-2 RSA
  3. Clique em "Carregar" no lado direito cerca de 3/4
  4. Defina o tipo de arquivo como *.*
  5. Procure e abra seu arquivo .pem
  6. O PuTTY detectará automaticamente tudo o que precisa e basta clicar em "Salvar chave privada" e salvar sua chave ppk para uso com o PuTTY

Usando a linha de comando

Se por outro lado você gostaria de converter um .pemde .ppkarquivo através da ferramenta de linha de comando puttygen, eu vim através desta solução no SO neste Q & A intitulado:

excerto

$ puttygen keyfile.pem -O private -o avdev.ppk

Para a chave pública:

$ puttygen keyfile.pem -L

Referências

slm
fonte
as etapas 2 a 6 também funcionam para outros tipos de arquivos de chave privada (por exemplo, arquivo resultante de um comando ssh-keygen do Git Bash), obrigado!
AtAFork 23/09/16
não funciona mais na linha de comando
Aryeh Beitz 29/03
Quaisquer pensamentos sobre como isso iria funcionar no OSX, PuTTYgen não está disponível
Qasim
Se você deseja adicionar uma senha / senha à chave privada, basta adicionar -P. Por exemplo puttygen k.pem -PO private -o k.ppk.
CPHPython
15

Se você estiver usando o GNU / Linux, não precisará usar o Putty. Essa parte do tutorial é voltada para usuários do Windows.

Basta definir suas .pempermissões de arquivo para r--, chmod 400 mykey.pementão você pode passá-lo diretamente para ssh:

ssh -i mykey.pem [email protected] 
François Feugeas
fonte
A razão pela qual estou tentando usar a massa é para poder seguir as instruções neste tutorial plex . Se houver outras maneiras de fazê-lo, fique à vontade para explicar.
Flame_Phoenix
Seu servidor Plex Media está na máquina da AWS e você está tentando encapsulá-lo na sua estação de trabalho Mint, estou conseguindo isso corretamente? Você deve abrir outra pergunta explicando isso, mas já existem muitas perguntas explicando como fazer o tunelamento SSH.
François Feugeas 21/02
11
Usando o comando que você mencionou, consegui efetuar login na instância remota da AWS. Na verdade, eu queria transferir arquivos que usei o comando (apenas no caso de ajudar alguém) sftp -oIdentityFile=mykey.pem user@<publicIP>... obrigado sua postagem me ajudou a resolver o problema que eu estava tendo por mais de 5 horas.
Subham Tripathi
0

use o comando abaixo funcionou para mim no ubuntu

puttygen /home/abc/Downloads/dockerkey1.pem -o home/abc/Downloads/dockerkey1.ppk -O private

Exemplo

puttygen pemKey.pem -o ppkKey.ppk -O private

thrinadhn
fonte
Isso já está descrito na resposta aceita. Você não precisa usar sudoisso se o usuário atual tiver permissão de gravação no diretório de saída.
Stephen Kitt
Obrigado pela sua sugestão @Stephen kitt
thrinadhn