Saltar al contenido

Convertir OpenSSH en privado key en SSH2 privado key

Hola, hallamos la solución a lo que buscas, continúa leyendo y la verás un poco más abajo.

Solución:

Este tutorial titulado: SSH: Convierta OpenSSH a SSH2 y viceversa parece ofrecer lo que está buscando.

Convertir OpenSSH key a SSH2 key

Ejecute la versión OpenSSH de ssh-keygen en su público OpenSSH key para convertirlo al formato que necesita SSH2 en la máquina remota. Esto debe hacerse en el sistema que ejecuta OpenSSH.

$ ssh-keygen -e -f ~/.ssh/id_dsa.pub > ~/.ssh/id_dsa_ssh2.pub

Convertir SSH2 key a OpenSSH key

Ejecute la versión OpenSSH de ssh-keygen en tu público ssh2 key para convertirlo al formato que necesita OpenSSH. Esto debe hacerse en el sistema que ejecuta OpenSSH.

$ ssh-keygen -i -f ~/.ssh/id_dsa_1024_a.pub > ~/.ssh/id_dsa_1024_a_openssh.pub

El tutorial continúa mostrando cómo generar los distintos tipos de keys y cómo exportarlos a otros formatos.

Use esto para público y privado keys?

Según la página del manual, la respuesta sería un sí. Mirando la página de manual de ssh-keygen establece lo siguiente para el -e cambiar:

 -e    This option will read a private or public OpenSSH key file and print
       the key in RFC 4716 SSH Public Key File Format to stdout.  This option
       allows exporting keys for use by several commercial SSH implementations.

Pero en la práctica parecería que ssh-keygen no se puede convertir en privado keys, solo los públicos.

Por ejemplo:

# Make a new RSA key-pair
$ ssh-keygen -t rsa -f newkey

# attempt to extract the private key
$ ssh-keygen -e -f newkey > newkey_e

# attempt to extract the public key
$ ssh-keygen -e -f newkey.pub > newkey.pub_e

# Notice the supposed extracted private key (newkey_e) and the corresponding extracted public key (newkey.pub_e) have identical `md5sum`'s.
$ for i in *;do md5sum $i;done
d1bd1c12c4a2b9fee4b5f8f83150cf1a  newkey
8b67a7be646918afc7a041119e863be5  newkey_e
13947789d5dcc5322768bd8a2d3f562a  newkey.pub
8b67a7be646918afc7a041119e863be5  newkey.pub_e

Mirando el resultado extraído keys confirma esto:

$ grep BEGIN newkey_e newkey.pub_e 
newkey_e:---- BEGIN SSH2 PUBLIC KEY ----
newkey.pub_e:---- BEGIN SSH2 PUBLIC KEY ----

Buscando un poco en Google, encontré esta propaganda de un artículo titulado: ¿Cómo se convierte OpenSSH en privado key archivos a SSH. El sitio parecía estar arriba y abajo, pero al buscar esta página en el caché de Google, encontré la siguiente propaganda:

¿Cómo se convierte OpenSSH Private key archivos a SSH.com Privado key archivos?

El programa ssh-keygen no puede hacerlo, aunque la mayoría de las páginas de manual dicen que sí. Lo desalientan para que utilice múltiples públicos
keys. El único problema es que RCF no te permitirá registrar más de un público. key.

El artículo continúa cubriendo un método para convertir un opensh privado key a un privado de ssh.com key mediante el uso de PuTTY’s puttygen herramienta. NOTA:puttygen se puede ejecutar desde Windows y Linux.

Abra ‘puttygen’ y genere un rsa público / privado de 2048 bits key par. Asegúrese de agregar una contraseña después de que se genere. Salvar al publico
key como “puttystyle.pub” y guarda el privado key como “estilo de masilla”. El programa de masilla y los programas de SSH.com comparten un público común:key formato pero el programa de masilla y OpenSSH tienen diferentes públicos-key formatos. Vamos a volver a esto más adelante. Debería poder cargar ambos estilos de masilla keys en el programa de masilla. Sin embargo, el privado key
Los formatos para putty y SSH.com no son los mismos, por lo que tendrá que crear un archivo convertido. Vaya al menú de conversiones y exporte un SSH.com key. Guárdelo como “sshstyle”. Ahora regrese al menú de conversiones y exporte un archivo openssh key. Guárdelo como “openssh”. Estos nombres son arbitrarios y puede elegir el suyo. Tendrá que cambiar los nombres para la instalación en una máquina OpenSSH, más adelante. Vea abajo.

Dado lo anterior, resolví lo siguiente usando puttygen, utilizando nuestro openssh público / privado generado previamente key-par:

# generate ssh.com private key from private openssh key
$ puttygen newkey -O private-sshcom -o newkey.puttygen-sshcom

# generate ssh.com public key from private openssh key
$ puttygen newkey -O public -o newkey.pub_puttygen-sshcom

# generate openssh public key from private openssh key (for confirmation)
$ puttygen newkey -O public-openssh -o newkey.pub_puttygen-openssh

Los comentarios son diferentes, por lo que no puede simplemente comparar los archivos resultantes, por lo que si observa las primeras líneas del keys, ese es un indicador bastante bueno de que los comandos anteriores fueron exitosos.

Comparación de public ssh.com keys:

$ tail -n +3 newkey.pub_e | head -1 | cut -c 1-60
AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wb

$ tail -n +3 newkey.pub_puttygen-sshcom | head -1 | cut -c 1-60
AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wb

Comparación de openssh pública keys:

$ cut -c 1-100 newkey.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wbz9x/w6I2DmSZVI9TJa6M9jgGE952QsOY

$ cut -c 1-100 newkey.pub_puttygen-openssh 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wbz9x/w6I2DmSZVI9TJa6M9jgGE952QsOY

ssh-keygen no exportará un privado key en formato pem, pero convertirá un openssh existente en privado key al formato pem, sobrescribiendo el original. Todo lo que tienes que hacer es editar la contraseña.

El comando para convertir tu ~/.ssh/id_rsa archivo de formato OpenSSH a formato SSH2 (pem) es:

ssh-keygen -p -f ~/.ssh/id_rsa -m pem

Luego proporcione la contraseña (antigua) y la nueva cuando se le solicite. Pueden ser iguales o incluso estar en blanco. O puede proporcionarlos en la línea de comandos usando el -P (frase de contraseña antigua) y -N (nueva frase de contraseña) opciones. Por ejemplo, si la frase de contraseña está en blanco y desea mantenerla así:

ssh-keygen -p -P '' -N ''-f ~/.ssh/id_rsa -m pem

Si te ha sido de ayuda este artículo, agradeceríamos que lo compartas con el resto entusiastas de la programación así contrubuyes a dar difusión a nuestro contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *