Initiating a push or any other action with GitHub from the command line (over https, not ssh) that calls for the username and password not only fails but, when it does, it returns
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/'
I do not have an @github.com
address. The password and username are correct.
I know I could switch to SSH and use keys but that doesn't answer why the authentication is failing over https.
On Windows, you may be silently blocked by your Antivirus or Windows firewall. Temporarily turn off those services and push/pull from remote origin.
It may happen in Windows if you stored a different credentials before. Go to Credential Manager and delete stored github credentials
Just incase this helps anyone else also, I was signed into the mac app, command line working fine, but because I then turned on 2FA, my commands were returning the error. I had to sign out of the app, then I could use my Personal access token in my commands as per ele's answer here.
Hopefully that helps someone!
Now click on Add a generic credential and provide the following values
(1) Internet or network adress: git:https://tfs.donamain name (2) username: your username (3) password: your password
this should fix it
[Mac only]
If you need to delete your authentication, use
git credential-osxkeychain erase
host=github.com
protocol=https
on Mac.
See https://help.github.com/articles/updating-credentials-from-the-osx-keychain/
Same thing happened with me, when i have enabled 2-way authentication for github. Things i did to resolve:
Doing this will solve your issue.
I do not have an
@github.com
address
You don't have to: the @
is the separator between the username:password and the domain.
It is not an email address.
A full GitHub https url would be:
https://username:[email protected]/username/reponame.git
Without the password (which would then be asked on the command line), that would gave:
https://[email protected]/username/reponame.git
But again, [email protected]
isn't an email address, just the first part of the credentials.
Make sure the case of your username
and reponame
is correct: it is case sensitive.
Note that you can store and encrypt your credentials in a .netrc.gpg
(or _netrc.gpg
on Windows) if you don't want to put said credentials in clear in the url.
See "Is there a way to skip password typing when using https://github
".
Source: Stackoverflow.com