the tag remove latest from create crear git github ssh public-key

git - tag - key_load_public: formato no válido



git tag commit id (5)

Como Roland mencionó en su respuesta, es una advertencia de que el ssh-agent no entiende el formato de la clave pública e incluso entonces, la clave pública no se usará localmente.

Sin embargo, también puedo elaborar y responder por qué la advertencia está ahí. Simplemente se reduce al hecho de que el generador de claves PuTTY 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 id_rsa / id_rsa con sus extensiones apropiadas. Además, por conveniencia de copiar y pegar, se supondrá que la carpeta principal de las claves es ~/.ssh/ . Ajuste estos detalles para satisfacer sus necesidades según lo desee.

Los formatos

Enlace a la documentación pertinente de PuTTY

SSH-2

Cuando guarde una clave con el generador de claves PuTTY con 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 OpenSSH Authorized Keys". 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 simplemente ssh-rsa <signature> <comment> y puede crearse reorganizando el archivo formateado SSH-2.

Regeneración de claves públicas

Si está utilizando ssh-agent , es probable que también tenga acceso a ssh-keygen .

Si tiene su clave privada OpenSSH (archivo id_rsa ), puede generar el archivo de clave pública OpenSSH usando:

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

Si solo tiene la clave privada PUTTY (archivo id_rsa.ppk ), primero deberá convertirla.

  1. Abra el generador de claves PuTTY
  2. En la barra de menú, haga clic en "Archivo"> ​​"Cargar clave privada"
  3. Seleccione su archivo id_rsa.ppk
  4. En la barra de menú, haga clic en "Conversiones"> "Exportar clave OpenSSH"
  5. Guarde el archivo como id_rsa (sin una extensión)

Ahora que tiene una clave privada OpenSSH, puede usar la herramienta ssh-keygen como se ssh-keygen arriba para realizar manipulaciones en la clave.

Bonificación: El formato de clave pública codificada por PKCS # 1 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 bondad saludable. 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

Utilicé el generador de claves PuTTY para generar una clave RSA-2 de 4096 bits con una frase de contraseña.

Guardo el .ppk y una clave pública de formato openSSL. La clave pública de formato de masilla no funciona.

En cualquier caso, mi error es el siguiente:

$ ssh -T [email protected] key_load_public: invalid format Enter passphrase for key ''/c/Users/Dan/.ssh/id_rsa'': Hi Dan! You''ve successfully authenticated, but GitHub does not provide shell access.

¿Cual es el problema?

Uso Pageant para cargar las claves y uso Git Bash para probar la conexión ssh. También he cargado la clave en GitHub, no estoy seguro de qué estoy haciendo mal.

Intenté agregar una nueva línea y no agregar una nueva línea en GitHub


En el caso de que copie su clave pública con el portapapeles y la pegue, puede suceder que la cadena de clave pública se rompa y que contenga nueva línea.

Asegúrese de que su cadena de clave pública se forme como una línea.


En lugar de guardar directamente la clave privada, vaya a Conversiones y Exportar clave SSh. Tuve el mismo problema y esto funcionó para mí


Parece que ssh no puede leer su clave pública. Pero eso no importa.

Subes tu clave pública a github, pero te autenticas usando tu clave privada . Ver, por ejemplo, la sección ARCHIVOS en ssh(1) .


Tuve la misma advertencia. Era una llave muy vieja. Regenere una clave en el OpenSSH 7 actual, y el error desapareció.