Como Roland mencionó en su respuesta, es una advertencia de que ssh-agent
no entiende el formato de la clave pública e incluso entonces, la clave pública no se utilizará localmente.
Sin embargo, también puedo elaborar y responder por qué la advertencia está ahí. Simplemente se reduce al hecho de que PuTTY Key Generator genera dos formatos de clave pública diferentes dependiendo de lo que haga en el programa.
Nota: A lo largo de mi explicación, los archivos clave que usaré / generaré serán nombrados id_rsa
con sus extensiones apropiadas. Además, para la conveniencia de copiar y pegar, se asumirá que la carpeta principal de las claves es ~/.ssh/
. Ajuste estos detalles para satisfacer sus necesidades como desee.
Los formatos
Enlace a la documentación PuTTY relevante
SSH-2
Cuando guarde una clave utilizando el generador de claves PuTTY utilizando el botón "Guardar clave pública", se guardará en el formato definido por RFC 4716 .
Ejemplo:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "github-example-key"
AAAAB3NzaC1yc2EAAAABJQAAAQEAhl/CNy9wI1GVdiHAJQV0CkHnMEqW7+Si9WYF
i2fSBrsGcmqeb5EwgnhmTcPgtM5ptGBjUZR84nxjZ8SPmnLDiDyHDPIsmwLBHxcp
pY0fhRSGtWL5fT8DGm9EfXaO1QN8c31VU/IkD8niWA6NmHNE1qEqpph3DznVzIm3
oMrongEjGw7sDP48ZTZp2saYVAKEEuGC1YYcQ1g20yESzo7aP70ZeHmQqI9nTyEA
ip3mL20+qHNsHfW8hJAchaUN8CwNQABJaOozYijiIUgdbtSTMRDYPi7fjhgB3bA9
tBjh7cOyuU/c4M4D6o2mAVYdLAWMBkSoLG8Oel6TCcfpO/nElw==
---- END SSH2 PUBLIC KEY ----
OpenSSH
Contrariamente a la creencia popular, el generador no guarda este formato. Sin embargo, se genera y se muestra en el cuadro de texto titulado "Clave pública para pegar en el archivo de claves autorizadas de OpenSSH". Para guardarlo como un archivo, debe copiarlo manualmente desde el cuadro de texto y pegarlo en un nuevo archivo de texto.
Para la clave que se muestra arriba, esto sería:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAhl/CNy9wI1GVdiHAJQV0CkHnMEqW7+Si9WYFi2fSBrsGcmqeb5EwgnhmTcPgtM5ptGBjUZR84nxjZ8SPmnLDiDyHDPIsmwLBHxcppY0fhRSGtWL5fT8DGm9EfXaO1QN8c31VU/IkD8niWA6NmHNE1qEqpph3DznVzIm3oMrongEjGw7sDP48ZTZp2saYVAKEEuGC1YYcQ1g20yESzo7aP70ZeHmQqI9nTyEAip3mL20+qHNsHfW8hJAchaUN8CwNQABJaOozYijiIUgdbtSTMRDYPi7fjhgB3bA9tBjh7cOyuU/c4M4D6o2mAVYdLAWMBkSoLG8Oel6TCcfpO/nElw== github-example-key
El formato de la clave es simple ssh-rsa <signature> <comment>
y se puede crear reorganizando el archivo con formato SSH-2.
Regeneración de claves públicas
Si está utilizando ssh-agent
, probablemente también tendrá acceso a ssh-keygen
.
Si tiene su clave privada de OpenSSH ( id_rsa
archivo), puede generar el archivo de clave pública de OpenSSH usando:
ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub
Si solo tiene la clave privada PUTTY ( id_rsa.ppk
archivo), primero deberá convertirla.
- Abra el generador de claves PuTTY
- En la barra de menú, haga clic en "Archivo"> "Cargar clave privada"
- Seleccione su
id_rsa.ppk
archivo
- En la barra de menú, haga clic en "Conversiones"> "Exportar clave OpenSSH".
- Guarde el archivo como
id_rsa
(sin extensión)
Ahora que tiene una clave privada OpenSSH, puede usar la ssh-keygen
herramienta como se indica arriba para realizar manipulaciones en la clave.
Bono: el formato de clave pública PKCS # 1 codificado en PEM
Para ser honesto, no sé para qué se usa esta clave, ya que no la he necesitado. Pero lo tengo en mis notas que he recopilado a lo largo de los años y lo incluiré aquí por pura bondad. El archivo se verá así:
-----BEGIN RSA PUBLIC KEY-----
MIIBCAKCAQEAhl/CNy9wI1GVdiHAJQV0CkHnMEqW7+Si9WYFi2fSBrsGcmqeb5Ew
gnhmTcPgtM5ptGBjUZR84nxjZ8SPmnLDiDyHDPIsmwLBHxcppY0fhRSGtWL5fT8D
Gm9EfXaO1QN8c31VU/IkD8niWA6NmHNE1qEqpph3DznVzIm3oMrongEjGw7sDP48
ZTZp2saYVAKEEuGC1YYcQ1g20yESzo7aP70ZeHmQqI9nTyEAip3mL20+qHNsHfW8
hJAchaUN8CwNQABJaOozYijiIUgdbtSTMRDYPi7fjhgB3bA9tBjh7cOyuU/c4M4D
6o2mAVYdLAWMBkSoLG8Oel6TCcfpO/nElwIBJQ==
-----END RSA PUBLIC KEY-----
Este archivo se puede generar usando una clave privada OpenSSH (como se generó en "Regeneración de claves públicas" arriba) usando:
ssh-keygen -f ~/.ssh/id_rsa -y -e -m pem > ~/.ssh/id_rsa.pem
Alternativamente, puede usar una clave pública OpenSSH usando:
ssh-keygen -f ~/.ssh/id_rsa.pub -e -m pem > ~/.ssh/id_rsa.pem
Referencias: