Convertir PEM a formato de archivo PPK

126

¿Hay alguna forma de convertir archivos PEM a archivos PPK? (puede adivinar que Amazon EC2 me da un archivo PEM y necesito usar el formato PPK para la conectividad SSH).

Llanero solitario
fuente
1
Nunca he oído hablar del formato ppk, pero dudo que haya algo en .NET para ello.
Presidente James K. Polk
6
PPK es el formato de cliente Putty. No creo que .NET tenga nada que ver con eso.
Borealid
2
Ok, no me di cuenta de esto ... ¿Entonces PPK es solo un formato propietario / extraño que existe solo en Putty-land?
LoneRanger
1
También es inútilmente el único formato que acepta FileZilla.
Ryder
Y el formato predeterminado en el que AmazonWebServices saca sus claves.
Kzqai

Respuestas:

230

Utilice PuTTYGen

Creación y uso de claves SSH

Visión general

vCloud Express ahora tiene la capacidad de crear claves SSH para servidores Linux. Esta función permitirá al usuario crear múltiples claves personalizadas seleccionando la opción "Mi cuenta / Administración de claves". Una vez que se ha creado la clave, el usuario deberá seleccionar la clave SSH deseada durante el proceso de “Crear servidor” para Linux.

Crear y usar claves SSH

  1. Crear claves
    • Navega a "Mi cuenta"
    • Seleccione "Gestión de claves"
    • Crear nueva clave.
      • Durante el proceso de creación de la clave, se le pedirá que descargue su archivo de clave privada en formato .PEM. No podrá volver a descargar la clave privada porque no está almacenada en vCloud Express.
      • La casilla de verificación "Predeterminado" se utiliza para la API.
  2. Implementar servidor y seleccionar clave
  3. Conectar

    • SSH (Mac / Linux)
      • Copie el archivo .PEM a la máquina desde la que se va a conectar.
      • Asegúrese de que los permisos en el archivo .PEM sean apropiados (chmod 600 file.pem)
      • Conéctese con el comando ssh: ssh vcloud @ ipaddress –i privkey.pem
    • Masilla (Windows)
      • Descargue Putty and Puttygen desde - aquí
      • Utilice puttygen para convertir un archivo .PEM en un archivo .PPK.
      • Inicie puttygen y seleccione "Cargar"
      • Seleccione su archivo .PEM.
      • Putty convertirá el formato .PEM al formato .PPK. ingrese la descripción de la imagen aquí
      • Seleccione "Guardar clave privada". No se requiere una frase de contraseña, pero se puede usar si se requiere seguridad adicional.
    • Conecta con Putty.

      • Inicie Putty e ingrese la dirección IP del host. Si se conecta a la dirección privada 10.X, primero debe establecer una conexión VPN SSL.
      • Navegue a Conexión / SSH / Auth
      • Haga clic en "Examinar" y seleccione el archivo .PPK que exportó de puttygen. ingrese la descripción de la imagen aquí

      • Haga clic en "Abrir". Cuando surja la conexión, ingrese el nombre de usuario (el predeterminado es vcloud).

Instrucciones copiadas de aquí

Ryan Kinal
fuente
Gracias, hice esto y funcionó! LoneRanger, creo que puede marcar esto como la respuesta correcta :-)
Kevin P.
65

Estoy bastante sorprendido de que esto no haya sido respondido ya que la solución es muy simple.

Como se mencionó en publicaciones anteriores, no querrá convertirlo usando C #, sino solo una vez. Esto es fácil de hacer con PuTTYGen.

  1. Descargue su .pem de AWS
  2. Abrir PuTTYgen
  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 usarla con PuTTY

¡Disfrutar!

trex005
fuente
2
Para quienes esta solución no funcione, actualice su puttygen desde chiark.greenend.org.uk/~sgtatham/putty/download.html . El mío era de 2005 y no podía abrir PEM
mistika
31
Es realmente divertido cuando buscas cómo hacer algo que no has hecho en mucho tiempo y encuentras la respuesta de stackoverflow que diste 2.5 años antes.
trex005
2
@ trex005 bueno, stackoverflow ahora parece ser una extensión de nuestra memoria, no necesitamos recordar todo en nuestra cabeza.
Paramvir Singh Karwal
@ParamvirSinghKarwal, tienes mucha razón ... Probablemente use esta publicación cada año o dos para mi propia memoria, ¡pero ya no comento más porque se volvería molesto!
trex005
16
  1. Descarga puttygen
  2. Entonces abre puttygen
  3. haga clic en cargar
  4. Establezca el tipo de archivo en .todos los archivos
  5. Guardar PrivateKey
  6. y luego puede guardar cualquier nombre, ese archivo se convirtió en un archivo ppk
usuario7757658
fuente
5

Para la conectividad SSH a la instancia AWS EC2, no es necesario convertir el archivo .PEM a un archivo PPK incluso en una máquina con Windows, SSH simple usando la herramienta 'git bash'. No es necesario descargar y convertir estos softwares. Espero que esto le ahorre tiempo de descarga y conversión de claves y le dé más tiempo para las cosas de EC2.

Enigma
fuente
1
O, en Windows 10, "Bash en ubuntu en Windows"
andrew lorien
Necesita ppk para hacer ssh usando masilla
sudip
La respuesta es correcta pero no aborda la pregunta en el título
Oliver Dungey
5

Si tiene una máquina Linux, simplemente instale puttygen en su sistema y use el siguiente comando para convertir la clave

pem a ppk use el siguiente comando:

puttygen keyname -o keyname.ppk

El siguiente comando se utiliza para convertir ppk a pem no pem a ppk

puttygen filename.ppk -O private-openssh -o filename.pem

Deepak Sharma
fuente
Y puede instalar putty en la mayoría de las distribuciones de Linux; hay una buena lista aquí: command-not-found.com/puttygen
Oliver Dungey
Lo que está mal en la recomendación siguiente para convertir pem a ppk puttygen keyname -o keyname.ppk
Deepak Sharma
ha editado y menciona el comando que se usa para convertir ppk a pem
Deepak Sharma
3
  1. Guarde YourPEMFILE.pem en su directorio .ssh
  2. Ejecute puttygen desde el símbolo del sistema

    a. Haga clic en el botón "Cargar" para "Cargar un archivo de clave privada existente"
    b. Cambie el filtro de archivo a “Todos los archivos ( . )
    C. Seleccione YourPEMFILE.pem
    d. Haga clic en Abrir
    e. Puttygen muestra un aviso que dice que importó correctamente la clave externa. Haga clic en Aceptar.
    F. Haga clic en el botón "Guardar clave privada"
    g. Cuando se le pregunte si está seguro de que desea guardar sin ingresar una contraseña, responda "Sí".
    h. Ingrese el nombre del archivo YourPEMFILE.ppk
    i. Clic en Guardar"

kartick shaw
fuente
2

Convierta el archivo .pem a .ppk para Windows 10

Debes hacer lo siguiente:


1. Descargue PuTTYGen con Pageant .
2. Presione el botón "cargar" y seleccione su archivo ".pem" .
3. Presione el botón "guardar clave privada" y guarde su archivo ".ppk" .
4. Abra Pageant y presione el botón "agregar clave" . Solo todo. Siga ejecutando Pageant en segundo plano .
5. Ahora inicie sesión a través de SSH o SFTP sin seleccionar el campo de contraseña.


ingrese la descripción de la imagen aquí


ingrese la descripción de la imagen aquí


ingrese la descripción de la imagen aquí

M. Hamza Rajput
fuente
1

PuTTYgen para Ubuntu / Linux y PEM a PPK

sudo apt install putty-tools
puttygen -t rsa -b 2048 -C "user@host" -o keyfile.ppk
Administración
fuente
0

Usé una versión de prueba de ZOC Terminal Emulator y funcionó. Acepta fácilmente los archivos * .pem de Amazon.

Sin embargo, el truco es que debe especificar "ec2-user" en lugar de "root" para el nombre de usuario, a pesar del ejemplo que se muestra en la consola EC2, ¡que es incorrecto! ;-)

Patalenski
fuente
0

Tuve el mismo problema con PuttyGen que no quería importar una clave privada openSSH. Probé todo y descubrí que la versión anterior de PuttyGen no admitía la importación de OpenSSH. Una vez que descargué la última Putty, puttygen le permitió importar la clave privada openssh sin problemas. Ahora tengo un agujero en el costado de mi escritorio para golpear mi cabeza contra él durante la última hora.

Peterlandis
fuente