Convierta la clave .pem de Amazon a Putty .ppk key Linux

49

He generado y descargado una .pemclave privada de AWS. Sin embargo, para usar Putty para conectarse a la máquina virtual, debo tener esa clave en .ppkformato. El proceso de conversión se detalla en aproximadamente 20 líneas aquí:

Estoy usando Linux Mint (una distribución de Ubuntu) y sé que puedo usar puttygen en la terminal. Sin embargo, no tengo idea de cómo usar esta herramienta, ni cómo configurar los parámetros necesarios. Cuando escribo puttygen, ayudo a obtener

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'

Pero no tengo ni idea de cómo hacer lo que el sitio web me dice que haga y todas mis tentativas han fallado hasta ahora.

¿Cómo hago lo que el sitio web me dice que haga, usando puttygen en la terminal?

Llama_Phoenix
fuente

Respuestas:

70

Usando la GUI

Vea este SO Q&A sobre cómo hacer exactamente lo que quiere, titulado: Convertir PEM a formato de archivo PPK .

extracto

  1. Descargue su .pem de AWS
  2. Abra PuTTYgen, seleccione el tipo de clave para generar como: SSH-2 RSA
  3. Haga clic en "Cargar" en el lado derecho aproximadamente 3/4 hacia abajo
  4. Establezca el tipo de archivo en *.*
  5. Busque y abra su archivo .pem
  6. PuTTY detectará automáticamente todo lo que necesita, y solo necesita hacer clic en "Guardar clave privada" y puede guardar su clave ppk para usar con PuTTY

Usando la línea de comando

Si por el contrario desea convertir una .pemal .ppkarchivo a través de la herramienta de línea de comandos puttygen, que llegó a través de esta solución en lo que en este Q & A titulada:

extracto

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

Para la clave pública:

$ puttygen keyfile.pem -L

Referencias

slm
fuente
los pasos 2 a 6 también funcionan para otros tipos de archivos de clave privada (por ejemplo, el archivo resultante de un comando ssh-keygen de Git Bash), ¡gracias!
AtAFork
ya no funciona desde la línea de comando
Aryeh Beitz
Alguna idea sobre cómo funcionaría esto en OSX, PuTTYgen no está disponible
Qasim
Si desea agregar una contraseña / frase de contraseña a la clave privada, simplemente agregue -P. Por ej puttygen k.pem -PO private -o k.ppk.
CPHPython
15

Si está utilizando GNU / Linux, no tiene que usar Putty. Esa parte del tutorial está dirigida a usuarios de Windows.

Simplemente configure los .pempermisos de su archivo r--haciendo esto y chmod 400 mykey.pemluego puede pasarlo directamente a ssh:

ssh -i mykey.pem [email protected] 
François Feugeas
fuente
La razón por la que intento usar masilla es para poder seguir las instrucciones de este tutorial de plex . Si hay otras formas de hacerlo, no dude en explicarlo.
Flame_Phoenix
Su servidor Plex Media está en la máquina de AWS y está intentando hacer un túnel desde su estación de trabajo Mint, ¿lo estoy entendiendo bien? Debería abrir otra pregunta que explique esto, pero ya hay muchas preguntas que explican cómo hacer un túnel SSH.
François Feugeas
1
Al usar el comando que mencionó, pude iniciar sesión en la instancia remota de AWS. De hecho, quería transferir archivos. Utilicé el comando (en caso de que ayude a alguien) sftp -oIdentityFile=mykey.pem user@<publicIP>... gracias. Tu publicación me ayudó a resolver el problema que tuve durante más de 5 horas.
Subham Tripathi
0

use el siguiente comando, me funcionó en ubuntu

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

Ejemplo

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

thrinadhn
fuente
Esto ya se describe en la respuesta aceptada. No necesita usar sudoesto si su usuario actual tiene permiso de escritura en el directorio de salida.
Stephen Kitt
Gracias por su sugerencia @Stephen kitt
thrinadhn