[SOLVED] Git push returns “Authentication Failed”

Git is a popular version control software that every developer should know how to use. But sometimes, it pops out strange errors that confuses even seasoned users. If you are seeing "Authentication failed" whenever you try to use git push command, this short article is going to help you solve this error message.

The "Authentication Failed" error message

The "Authentication Failed" error message indicates that the existing authentication method you have been using on your repository has become obsolete/outdated. The full error message may look like this

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/bswen/bswen-project.git/'

Or if you're pushing to your remote repository via HTTPS, the error message may look like this

If you enabled two-factor authentication in your Github account you won't be able to push via HTTPS using your accounts password. Instead you need to generate a personal access token. This can be done in the application settings of your Github account. Using this token as your password should allow you to push to your remote repository via HTTPS. Use your username as usual.

Usually, the "Authentication Failed" error happens if you recently enabled 2-Factor Authentication on your GitHub account. GitHub deprecates the password authentication method from August 13, 2021 to favor more secure way of authentication. Now, you have several possible ways to get around the problem.

Create a PAT (Personal Access Token)

When you connect to a GitHub repository from Git, you'll need to authenticate with GitHub using either HTTPS or SSH. Alternatively, you can use Github CLI with the command gh auth login. All of these authentication method requires a PAT (Personal Access Token) that is a more secure alternative to passwords. Follow the instructions below to create a PAT :

First, login to your account. In the upper right corner of the page, look for your avatar, click it and select Settings.

In the Settings page, choose Developer settings > Developer settings > Personal access tokens in the left sidebar.

Personal access tokens

Click Generate new token in order to create a new PAT. You will be able to name the token, set its expiration date and its scope. For a token that specifically for managing repositories, you should limit the scope to repo.

Limit PAT scope

Finally, click Generate token. You would be redirected to another page which shows you the newly created token. Remember that the token will only be shown once. If you lost the token, you have no way to recover it but to re-generate a new one.

Treat your tokens like passwords and keep them in a secure place. The token should be stored in an environment variable instead of hardcoding them into your programs/applications source code.

Once you're done creating a token, you have to reset the old password authentication by running the following command.

git config --global --unset credential.helper

You may also need to update your repository to change the protocol from HTTPS to native SSH

git remote -v
git remote remove origin
git remote add origin [email protected]:user/repo.git

Disable Github 2-Factor Authentication

If you recently enabled 2-Factor Authentication(2FA) on your GitHub account right before the "Authentication Failed" error pops up, you can try disabling it to quickly fix the problem.

However, remember that disabling 2FA significantly increase the risk of your account to be compromised. Also, If you're a member, billing manager, or outside collaborator to a public repository of an organization that requires two-factor authentication and you disable 2FA, you'll be automatically removed from the organization, and you'll lose your access to their repositories. In order to regain access to the organization, you have to re-enable 2FA and re-apply to the organization.

To disable 2FA for an account, you need to log into it, then click your profile photo in the upper right corner and select Settings.

Settings icon in the user bar

Then, select Account Security in the left sidebar and click Disable in Two-factor authentication section.

Disable two-factor authentication button Github

Remove saved credentials on Windows

Windows users may beed to change your login or password of the Git service account stored in Windows Credential Manager.

First, you need to search for Windows Credential Manager from the Start menu. Usually it is placed in Control Panel if you use Windows 7 and Settings on newer Windows versions.

On the Credential Manager window, click on Windows Credentials tab and look for anything that starts with git: or ada:. In order to remove them, you would have to click each of them to open the details view and click Remove.

You may also need to remove them from Generic Credentials, too.

Remove saved credentials from Windows Credential Manager

We hope that the information above helps you solve the "Authentication Failed" error message in Git. You may want to check out our other guide on fixing other popular Git issues such as Git : how to accept all current/incoming changes, How to clone a private repository in Github or How to access GitHub from inside China.

Click to rate this post!
[Total: 1 Average: 5]

Leave a Comment