Cómo convertir pares de claves SSH generados con PuTTYgen (Windows) en pares de claves utilizados por ssh-agent y Keychain (Linux)

StackOverflow https://stackoverflow.com/questions/2224066

Pregunta

He generado pares de claves usando PuTTYgen y he iniciado sesión usando Pageant, por lo que tengo que ingresar mi contraseña solo una vez cuando arranca mi sistema.

¿Cómo logro esto en Linux?he oído hablar de keychain pero he oído que utiliza un formato de par de claves diferente: no quiero cambiar mis claves de Windows y sería bueno poder conectarme sin problemas de la misma manera tanto en Windows como en Linux.

¿Fue útil?

Solución

puttygen soporta exportar la clave privada a un formato compatible con OpenSSH. A continuación, puede utilizar las herramientas OpenSSH para recrear la clave pública.

  1. Abrir PuTTYgen
  2. Haga clic en Cargar
  3. Carga tu clave privada
  4. Ir a Conversions->Export OpenSSH y exportar la clave privada
  5. Copia de su clave privada para ~/.ssh/id_dsa (o id_rsa).
  6. Crea la versión RFC 4716 de la clave pública utilizando ssh-keygen

    ssh-keygen -e -f ~/.ssh/id_dsa > ~/.ssh/id_dsa_com.pub
    
  7. Convertir la versión RFC 4716 de la clave pública al formato OpenSSH:

    ssh-keygen -i -f ~/.ssh/id_dsa_com.pub > ~/.ssh/id_dsa.pub
    

este y esta para más información.

Otros consejos

Si todo lo que tienes es una clave pública de un usuario en el formato de estilo masilla, puede convertir a formato openssh estándar de este modo:

ssh-keygen -i -f keyfile.pub > newkeyfile.pub

Referencias

Copia del artículo

  

Siempre me olvido de esto, así que voy a escribir aquí. No-geeks, simplemente   seguir caminando.

     

La forma más común de hacer una tecla en Windows está utilizando masilla / Puttygen.   Puttygen proporciona una utilidad limpia para convertir una clave privada para Linux   Formato de masilla. Sin embargo, lo que no se aborda es que cuando se guarda el   clave pública utilizando puttygen no va a funcionar en un servidor Linux. ventanas   pone algunos datos en diferentes áreas y añade saltos de línea.

     

La solución: Al llegar a la pantalla de clave pública en la creación de su   par de claves en puttygen, copiar la clave pública y pegarlo en un texto   presentar ante la .pub extensión. Se le ahorrará horas de administrador de sistemas   la frustración de leer mensajes como este.

     

Sin embargo, los administradores de sistemas, que siempre consiguen el archivo de claves poco firme que lanza   ningún mensaje de error en el registro de autenticación excepción, ninguna tecla encontrado, tratando   contraseña; a pesar de todos los demás teclas están trabajando bien, y   que ha enviado esta clave al usuario 15 veces.

ssh-keygen -i -f keyfile.pub > newkeyfile.pub
     

En caso de convertir una clave pública puttygen existente al formato OpenSSH.

Las nuevas versiones de PuTTYgen (mina es 0,64) son capaces de mostrar la clave pública OpenSSH para ser pegado en el sistema Linux en el archivo .ssh/authorized_keys, como se muestra en la siguiente imagen:

introducir descripción de la imagen aquí

Alternativamente, si desea obtener las claves públicas y privadas de un archivo de claves con formato PuTTY, puede usar puttygen en sistemas *nix.Para la mayoría de los sistemas basados ​​en apt puttygen es parte del putty-tools paquete.

Generar una clave privada desde un archivo de claves con formato PuTTY:

$ puttygen keyfile.pem -O private-openssh -o avdev.pvk

Para la clave pública:

$ puttygen keyfile.pem -L

sudo apt-get install putty

Esto instalará automáticamente la herramienta puttygen.

Ahora para convertir el archivo PPK para ser utilizado con el comando SSH ejecute lo siguiente en el terminal

puttygen mykey.ppk -O private-openssh -o my-openssh-key

A continuación, se puede conectar a través de SSH con:

ssh -v user@example.com -i my-openssh-key

http://www.graphicmist.in/use-your-putty-ppk-file-to-ssh-remote-server-in-ubuntu/#comment-28603

Recientemente tuve este problema, ya que se movía de masilla para Linux a Remina para Linux. Así que tengo una gran cantidad de archivos para PPK masilla en mi directorio .putty como lo he estado usando es de 8 años. Para ello he utilizado un simple comando for para la cáscara del golpe que hacer todos los archivos:

cd ~/.putty
for X in *.ppk; do puttygen $X -L > ~/.ssh/$(echo $X | sed 's,./,,' | sed 's/.ppk//g').pub; puttygen $X -O private-openssh -o ~/.ssh/$(echo $X | sed 's,./,,' | sed 's/.ppk//g').pvk; done;

Muy rápido y al grano, hizo el trabajo de todos los archivos que tenía masilla. Si se encuentra una llave con una contraseña se detendrá y pedir la contraseña para esa tecla primero y luego continuar.

Es probable que sea más fácil para crear sus llaves bajo Linux y utilizar PuTTYgen para convertir las claves de formato PuTTY.

masilla Faq: A.2.2

Creo que lo TCSgrad estaba tratando de preguntar (hace unos años) era cómo hacer que se comporte de Linux como su máquina de Windows lo hace. Es decir, no es un agente (concurso) que contiene una copia descifrado de una clave privada para que la frase de paso sólo tiene que ser puesto en una vez. A continuación, el cliente ssh, masilla, puede iniciar sesión en máquinas donde su clave pública aparece como "autorizado" sin una solicitud de contraseña.

El análogo de esto es que Linux, actuando como un cliente ssh , tiene un agente de la celebración de una clave privada descifrada de modo que cuando los tipos TCSgrad "host ssh" el comando ssh obtendrá su clave privada y ir sin que se le pida una contraseña. anfitrión, por supuesto, tiene que ser la celebración de la clave pública en ~ / .ssh / authorized_keys.

El análogo de Linux para este escenario se logra usando ssh-agent (el análogo certamen) y ssh-add (el análogo a la adición de una clave privada para certamen).

El método que trabajó para mí era utilizar: $ Ssh-agent $ SHELL Esos $ SHELL fue el truco de magia que necesitaba para hacer que el agente de carrera y mantenerse en funcionamiento. He encontrado que en algún lugar en la 'red y terminó unas pocas horas de golpear mi cabeza contra la pared.

Ahora tenemos el análogo de correr desfile, un agente sin llaves cargadas.

Typing $ Ssh-add por sí mismo agregará (por defecto) las claves privadas que figuran en los archivos de identidad por defecto en ~ / .ssh.

Un artículo de la tela con muchos más detalles se puede encontrar aquí

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top