Empujar un repositorio local a un repositorio de GitHub que tenga autenticación de doble factor

9

Estoy tratando de insertar código en mi repositorio local (en un sistema OS X 10.8.5 con la aplicación GitHub instalada e iniciada sesión) a un repositorio que creé en GitHub a través de su sitio web, usando la línea de comandos. Curiosamente, cuando lo intento git push -u origin master, inicio sesión con mis credenciales (correctas) de GitHub y obtengo fatal: Authentication failed.

Utilizo la autenticación de doble factor, pero he autenticado la máquina con este problema a través de la aplicación GitHub. También tengo la clave SSH adecuada para esta operación.

¿Cuál es la causa de este problema? ¿Cómo se puede arreglar?

Jules
fuente

Respuestas:

15

La autenticación de dos factores generalmente no funciona por máquina, funciona por cliente. Cuando inicia sesión en GitHub con un navegador web, es el navegador web que recuerda las cookies con la información de autenticación y el estado de 2FA. git no sabe sobre eso.

Para transferir HTTP (S), deberá generar una contraseña secundaria ("token de acceso personal") en la página de configuración de la aplicación de GitHub (use el botón "Crear nuevo token"). Tenga en cuenta que git puede recordar la "contraseña" si no desea volver a escribirla / pegarla cada vez.

usuario1686
fuente
El soporte de GitHub me ha respondido con la misma solución, que funciona perfectamente. ¡Gracias!
Jules