Pousser un dépôt local vers un dépôt GitHub doté d'une authentification à deux facteurs

9

J'essaie de pousser du code dans mon référentiel local (sur un système OS X 10.8.5 avec l'application GitHub installée et connectée) vers un référentiel que j'ai créé sur GitHub via leur site Web, en utilisant la ligne de commande. Curieusement, lorsque j'essaie de le faire git push -u origin master, je me connecte avec mes informations d'identification GitHub (correctes) et j'obtiens fatal: Authentication failed.

J'utilise l'authentification à double facteur, mais j'ai authentifié la machine avec ce problème via l'application GitHub. J'ai également la clé SSH appropriée pour cette opération.

Quelle est la cause de ce problème? Comment peut-il être corrigé?

Jules
la source

Réponses:

15

L'authentification à deux facteurs ne fonctionne généralement pas par machine - elle fonctionne par client. Lorsque vous vous connectez à GitHub à l'aide d'un navigateur Web, c'est le navigateur Web qui se souvient des cookies avec à la fois les informations d'authentification et le statut 2FA. git n'en sait rien.

Pour pousser sur HTTP (S), vous devrez générer un mot de passe secondaire ("jeton d'accès personnel") dans la page des paramètres d'application de GitHub (utilisez le bouton "Créer un nouveau jeton"). Notez que git peut se souvenir du "mot de passe" si vous ne voulez pas le retaper / coller à chaque fois.

user1686
la source
Le support GitHub m'a en fait recontacté avec la même solution, qui fonctionne parfaitement. Merci!
Jules