L'initiation d'une action Push ou de toute autre action avec GitHub à partir de la ligne de commande (via https, pas ssh) qui appelle le nom d'utilisateur et le mot de passe échoue non seulement mais, le cas échéant, elle renvoie
Username for 'https://github.com': username
Password for 'https://[email protected]':
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/username/repository.git/'
Je n'ai pas d'adresse @github.com
. Le mot de passe et le nom d'utilisateur sont corrects.
Je sais que je pourrais passer à SSH et utiliser des clés, mais cela ne dit pas pourquoi l’authentification échoue avec https.
Le soutien de GitHub a immédiatement déterminé la source du problème: l'autorisation à deux facteurs.
Pour utiliser GitHub sur le shell avec https, créez un jeton OAuth . Comme le note la page, j'ai dû retirer mes identifiants de nom d'utilisateur et de mot de passe du trousseau, mais avec osx-keychain
en place, le jeton est stocké en tant que mot de passe et les choses fonctionnent exactement comme sur https sans autorisation à deux facteurs. .
Je n'ai pas d'adresse
@github.com
Vous n'avez pas à: le @
est le séparateur entre le nom d'utilisateur: mot de passe et le domaine.
Ce n'est pas une adresse email.
Une URL complète GitHub https serait:
https://username:[email protected]/username/reponame.git
Sans le mot de passe (qui serait ensuite demandé sur la ligne de commande), cela donnerait:
https://[email protected]/username/reponame.git
Mais encore une fois, [email protected]
n'est pas une adresse électronique, mais seulement la première partie des informations d'identification.
Assurez-vous que le cas de votre username
et reponame
est correct: il est sensible à la casse .
Notez que vous pouvez stocker et chiffrer vos informations d'identification dans un .netrc.gpg
(ou _netrc.gpg
sur Windows) si vous ne souhaitez pas mettre ces informations en clair dans l'URL.
Voir " Y a-t-il un moyen d'éviter de taper le mot de passe lors de l'utilisation de https://github
".
Maintenant, cliquez sur Ajoutez un identifiant générique et indiquez les valeurs suivantes
(1) adresse Internet ou réseau: git: https: //tfs.donamain nom (2) nom d'utilisateur: votre nom d'utilisateur (3) mot de passe: votre mot de passe
cela devrait le réparer
Cela peut arriver sous Windows si vous avez déjà stocké des informations d'identification différentes. Accédez à Credential Manager et supprimez les informations d'identification github stockées.
[Mac seulement]
Si vous devez supprimer votre authentification, utilisez
git credential-osxkeychain erase
Host=github.com
protocol=https
sur Mac.
Voir https://help.github.com/articles/updating-credentials-from-the-osx-keychain/
C’est juste que cela aide tout le monde aussi, j’ai été connecté à l’application Mac, la ligne de commande fonctionne bien, mais comme j’ai allumé 2FA, mes commandes renvoyaient l’erreur. Je devais me déconnecter de l'application pour utiliser mon jeton d'accès personnel dans mes commandes, conformément à la réponse de ele ici .
Espérons que cela aide quelqu'un!
La même chose s’est produite avec moi, lorsque j’ai activé l’authentification bidirectionnelle pour github. Les choses que j'ai faites pour résoudre:
Cela résoudra votre problème.