Pregunta ¿Crear una clave SSH pública a partir de la clave privada?


Supongamos que tengo una clave SSH, pero he eliminado la parte de clave pública. Tengo la parte de clave privada. ¿Hay alguna manera de poder regenerar la parte de la clave pública?


202
2017-08-10 14:36


origen




Respuestas:


Use la opción -y para ssh-keygen:

ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub

Desde el 'hombre ssh-keygen'

 -y      This option will read a private OpenSSH format file and print an
         OpenSSH public key to stdout.

Especifique la clave privada con la opción -f, la suya puede ser dsa en lugar de rsa. El nombre de tu clave privada probablemente contiene lo que usaste. La nueva clave pública generada debe ser la misma que la que generó anteriormente.


239
2017-08-10 14:39



¿Por qué el "-t dsa"? Mayge la clave de OP es rsa? Me libraría de -t y en su lugar usaría -f. - innaM
Buen punto, actualizado en consecuencia - Kyle Brandt♦
Sí, el mío originalmente fue RSA. - Rory
En Mac OSX 10.9.3, los Mavericks me están 'cargando error' después de ejecutar el comando. ¿Cómo puedo solucionar esto? - Hyperfocus
Creo que podría ir un paso más allá con el parámetro -N en caso de que la clave privada esté protegida por contraseña: ssh-keygen -f ~/.ssh/id_rsa -y -N "$PASSWORD" > ~/.ssh/id_rsa.pub - ken


La solución es específicamente para usuarios que usan Windows.

Herramienta utilizada:

  • Puttygen (PuTTY Key Generator)
  • WinSCP

Pasos a realizar:

  1. Abrir PuTTY Key Generator.
  2. Cargue su clave privada (*.ppk expediente).
  3. Copie sus datos de clave pública de la sección "Clave pública para pegar en el archivo OpenSSH authorized_keys" del generador de claves PuTTY y pegue los datos clave en el archivo "authorized_keys" (usando el bloc de notas) si desea usarlos.

Instantánea que muestra porciones de Puttygen para enfocar:

Snapshot showing portions of Puttygen to focus


6
2017-11-21 10:00



Otras lecturas: askubuntu.com/questions/53553/… - devprashant
Puttygen también puede "importar" OpenSSH (realmente OpenSSL-legacy) y las claves privadas de formato SSHCOM. Y aunque se originó en Windows, también se ha portado a Unix, y la versión Unix de puttygen es un programa de línea de comandos (no GUI); ver por ejemplo linux.die.net/man/1/puttygen - dave_thompson_085