Git Commands Return Fatal: Authentication Failed
問題
When performing a Git operation to the Bitbucket Server instance over HTTP, the command fails with a fatal: Authentication failed
error.
$ git clone http://user@bitbucket.company.com/scm/project/repo.git
Cloning into 'repo'...
Password for 'http://user@bitbucket.company.com':
fatal: Authentication failed
診断
Diagnostic Steps
- Verify that the user can login to the web interface of Bitbucket Server.
原因
This error can have multiple causes which are outlined below.
Cause #1
There is an Apache proxy server in front of Bitbucket Server that is removing the authorization header information as the request is passed to Bitbucket Server. This is caused by the RequestHeader unset Authorization
configuration being set.
Cause #2
The user has been locked out of Bitbucket Server because of too many incorrect login attempts.
Cause #3
Newer versions of Git for Windows (2.x.x+) can pick up on the HTTP_PROXY
environment variable and cause this issue.
Cause #4
Windows Credential Manager sometimes messes with stored GIT passwords causing authentication failure.
ソリューション
ソリューション #1
Remove the RequestHeader unset Authorization
configuration from Apache and restart the proxy server.
ソリューション #2
Check that the user can login to the web interface of Bitbucket Server and answer the CAPTCHA if prompted.
ソリューション #3
Remove the HTTP_PROXY
environment variable.
ソリューション #4
Remove all stored credentials for git (remove all "git" related passwords) in Windows Credentials Manager that is under Control Panel\User Accounts\Credential Manager.