Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

Unlike this post , I am on macOS.

I have the password configured in GitLab. I also have an SSL key created after the project was made on GitLab.

When I use an existing folder for a new project and follow the steps below, I am prompted to enter my GitLab username and password.

Existing folder

cd existing_folder
git init
git remote add origin https://gitlab.com/sobopla/Geronimod.git
git add .
git commit -m "Initial commit"
git push -u origin master

After the password is entered I get the following error.

remote: HTTP Basic: Access denied fatal: Authentication failed for 'https://gitlab.com/myname/myproject'

Following answers didn't work for me..If still anyone facing this issue in mac...this link might help... stackoverflow.com/questions/17659206/… – Pallamolla Sai Apr 13, 2020 at 12:42 This error can also occur if your GitLab account has as password expiration date set but you are using another authentication method, e.g. LDAP. Then GitLab throws the 403 without even checking your credentials against the LDAP server. – Andy Jun 10, 2021 at 12:56 Penaltily related question: macos - How do I update the password for Git? - Stack Overflow – user202729 Jun 1, 2022 at 3:03 One workaround is to authenticate using SSH rather than HTTP. In the steps above, that would mean replacing the third line with git remote add origin git@gitlab.com:sobopla/Geronimod.git. This should if you have your SSH keys set up properly. – dinosaur Aug 31, 2022 at 19:25 I'm surprised no one has suggested the first thing that you should do. Double-check your username and password! – Janez Kuhar Sep 6, 2022 at 10:10

It happens every time I'm forced to change the Windows password and none of the above answers helped me.

Try the below solution which works for me:

  • Go to Windows Credential Manager. This is done in an EN-US Windows by pressing the Windows Key and typing 'credential'. In other localized Windows variants you need to use the localized term (See comments for some examples).

    alternatively you can use the shortcut control /name Microsoft.CredentialManager in the run dialog (WIN+R)

  • Edit the git entry under Windows Credentials, replacing old password with the new one.

    Thanks, that worked for me as well and solved the problem. You need this solution if you have different Github accounts on your device – Dany Wehbe Nov 21, 2018 at 16:44 It worked for me too though i am using multiple gilab accounts so what i did i updated my all the gitlab account with the same password that i have in my Credential Manger and the problem is solved Thanks@mpro – Rajan Chauhan Nov 27, 2018 at 6:22 Note: type it in your language system. Rus: "Credential Manager" = "Диспетчер Учетных Данных" – Dyno Cris May 26, 2019 at 18:25

    For me, the following worked:

    Do not use your GitLab password, but create an access token and use it instead of your password:

  • In GitLab, at the top-right corner, go to Personal Profile → Settings → Access Tokens

  • Create a new personal access token (check the api option)

  • git clone ...

  • When you are asked for your password, copy and paste the access token instead of your GitLab password

    Alternatively, on Windows, replace the password in Windows Credential Manager for the token. – Original BBQ Sauce Mar 10, 2021 at 15:45 I had already created a token but didn't know that after this you login with it instead of the password. Thanks for the tip. – Telmo Dias Apr 14, 2021 at 8:46 This should be the accepted answer. It is necessary in some projects according to the security configuration. Gitlab password will never work, just create and use your token. (Save your token in a secure place for future uses). – eduardosufan Jul 8, 2021 at 13:45 LOL, didnt found any place telling me that I should use access token in password field... – Alexandre Prazeres Aug 31, 2021 at 1:14 Doesn't work for me, got no idea why, I've been cracking my head at this for far too long – Villager Apr 10, 2022 at 9:02 Note that on Windows you need to run it as Administrator, otherwise you'll get permission errors – Eternal21 Aug 5, 2018 at 1:34 It depends where you put your credentials. If the previous command does not work try also using global flag: git config --global--unset credential.helper – Luca Natali Oct 15, 2018 at 10:24 This is the most relevant answer for the OP as it addresses the issue, and doesn't go on some "on Windows" tangent. Also, as a side note, you may need to run this command as sudo if your user doesn't have access to /etc – Ghostrydr Oct 17, 2018 at 16:43 If you unset credential helper, you would have to provide username and password each time connecting to the GIT repository. To fix that you can set helper again by using the following command: git config --global credential.helper store – Tomasz Czechowski Sep 2, 2019 at 7:05 If you don't have administrator access omit --system or --global flag and set the credential helper only for your current git repository – Juan Rojas Nov 16, 2020 at 16:31
  • Apply command from cmd (run as administrator)

    git config --system --unset credential.helper

  • And then I removed gitconfig file from C:\Program Files\Git\mingw64/etc/ location (Note: this path will be different in MAC like "/Users/username")

  • After that use git command like git pull or git push, it asked me for username and password. applying valid username and password and git command working.
  • hope this will help you...

    If you get that error, you can just run your command prompt as Administrator, and the error goes away. – Eternal21 Aug 5, 2018 at 1:33 FYI: Just resetting the config (your first cmd) worked. I then did my git push and blammo! I think its because my shop requires monthly password changes so the internal git lab goes haywire. – yardpenalty.com Mar 15, 2019 at 15:34 deleting gitconfig file i get error: "error setting certificate verify locations: cafile" – Alexbogs Dec 1, 2020 at 11:51 Thanks. Although for me have to replace it with SSL repo url but your answer make me help out. I have upvoted it. – Muzzamil Apr 1, 2020 at 13:56 Thanks. I didn't have such issue when using BitBucket or Github. With GitLab I have to create personal access token, then use that in remote origin git remote set-url origin https://usernameHere:personalAccessTokenHere@gitlab.com/usernameHere/projectNameHere – Woppi Jun 19, 2020 at 3:26

    I was also facing the same issue. The reason for the problem was authentication error. To solve this problem go to Control Panel -> Credential Manager -> Generic Credentials here find your gitlab credential and edit them. Make sure your ID password is right or not

    This did the trick, in my case it was because the company forces us to change the domain password every few months. This change didn't update the credentials in this credential manager. As soon as I updated the password it was working. – k4yaman Dec 2, 2019 at 12:18

    If you are using git > 2.11 and using Kerberos to interact with Gitlab you need set this configuration in your local git to avoid the remote: HTTP Basic: Access denied error.

    $ git config --global http.emptyAuth true

    Source

    After doing a clean install of Git on Windows this morning. This answer solved Access denied error for me. – James Nov 12, 2018 at 12:48 Holy cow - I went through all the other suggestions and finally FINALLY this one worked. Indeed was using Kerberos! – Bon Crowder at MathFour Feb 19, 2020 at 20:04

    Well, I faced the same issue whenever I change my login password.

    Below is the command I need to run to fix this issue:-

    git config --global credential.helper wincred
    

    After running above command it asks me again my updated username and password.

    Before digging into the solution lets first see why this happens.

    Before any transaction with git that your machine does git checks for your authentication which can be done using

  • An SSH key token present in your machine and shared with git-repo(most preferred)
  • Using your username/password (mostly used)
  • Why did this happen

    In simple words, this happened because the credentials stored in your machine are not authentic i.e.there are chances that your password stored in the machine has changed from whats there in git therefore

    Solution

    Head towards, control panel and search for Credential Manager look for your use git url and change the creds.

    There you go this works with mostly every that windows keep track off

    Thanks @chuklore great to see people looking to understand the issue and not just quick fixes. – Manasvi Mittal Jul 19, 2021 at 17:27

    Note: do not mix GitLab SSL settings and GitLab SSH keys.

    If what you have configured in your GitLab profile is an SSH public key, then your HTTPS URL would not use it.

    Regarding your HTTPS credentials, double-check:

  • if the two-factor authentication is disabled, or
  • if you have special characters in your username or password, or
  • if you have a Git credential helper: git config credential.helper.
  • - I have a space in my username because I authenticated Gitlab through Github - Two-factor autentication is disabled - What do you mean "If I have a Git credential helper? – jeancode Dec 18, 2017 at 19:32 @jeancode I mean: what do you see when you type git config credential.helper: that could have cached the wrong credentials. – VonC Dec 18, 2017 at 20:15 @jeancode For the space, did you percent encode it? (en.wikipedia.org/wiki/Percent-encoding#Character_data: %20) – VonC Dec 18, 2017 at 20:15 I was getting the error due to trying to use deploy keys while two factor authentication was enabled. Apparently you can only use personal access tokens if two-factor is enabled. – Joshua Dyck Oct 15, 2019 at 20:55

    It happens if you change your login or password of git service account (GitHub or GitLab, Bitbacket, etc). You need to change it in Windows Credentials Manager too.

    So, type "Credential Manager" (rus. "Диспетчер Учетных Данных") in Windows Search menu and go to your git service account and change data too.

    Although I didn't change my user or password (it is an AD credential), this happened to me because of a rebuild of the Gitlab server and the above solution has fixed this error. – John Ranger Sep 10, 2019 at 12:41

    I beleive I'm little late here. But I think this would help the new peeps!

    My Errors were: remote: HTTP Basic: Access denied

    remote: You must use a personal access token with 'read_repository' or 'write_repository' scope for Git over HTTP.

    remote: You can generate one at https://gitlab.com/profile/personal_access_tokens

    fatal: Authentication failed for 'https://gitlab.com/PROFILE_NAME/REPO_NAME.git/'

    I'm on Ubuntu but this worked for me:

  • Goto https://gitlab.com/profile/personal_access_tokens
  • Create new token and mark check to all.
  • Copy your token
  • Now go to your Terminal and paste it like this.
  • git clone https://oauth2:YOUR_TOKEN@gitlab.com/PROFILE_NAME/REPO_NAME.git/

    <USERNAME>:<PERSONAL_TOKEN>@gitlab.com/<USERNAME>/<REPO_NAME>.git works for me when configuring a "Mirroring Repository" – mochadwi Aug 2, 2020 at 13:35 For me with out profile name worked. git clone oauth2:YOUR_TOKEN@gitlab.com/REPO_NAME.git – Harish Apr 29, 2022 at 11:02 You do not use config file, just open you command prompt as administrator and run the command. Hope this helps – MD. Shafayatul Haque Oct 19, 2019 at 8:21
  • Not always the best solution; where I work, even though we're slowly moving towards using GIT, we have our applications on a network drive, so if I do this, only I can push changes even if someone else worked on a feature.
  • I can't run git config --system --unset credential.helper from GIT Bash, so I had to open up an Admin Command Prompt and run it there (this assumes you installed GIT such that it can run from both GIT Bash and the Command Prompt). From Bash, I get a "could not lock config file" error.

  • It is certainly a bug, ssh works with one of my machines but not the other. I solved it, follow these.

  • Generate an access token with never expire date, and select all the options available.
  • Remove the existing SSH keys.
  • Clone the repo with the https instead of ssh.
  • Use the username but use the generated access token instead of password.
  • alternatively you can set remote to http by using this command in the existing repo, and use this command git remote set-url origin https://gitlab.com/[username]/[repo-name].git

    Yeah, answers above did not work for me, and this was straightforward - "git remote set-url origin https://new-token-name:token-value@gitlab.com/path/to/repo/" – MiroJanosik Jan 2, 2022 at 21:59

    https://community.atlassian.com/t5/Sourcetree-questions/SourceTree-quot-fatal-Authentication-failed-for-quot/qaq-p/201844

    When you try to push again it will ask for your password.

    Did not work for me in Mac, It keeps failing with error HTTP Basic: Access denied. The provided password or token is incorrect – Saif May 23 at 12:20

    I solved it by removing the file "passwd" in

    C:\Users\<USERNAME>\AppData\Local\Atlassian\SourceTree

    After removing Sourcetree will prompt for the password.

    Note:
    OS Version : win10 
    Sourcetree Version:  3.1
    
  • Go to keychain and delete gitlab accounts
  • Go to your project path in terminal and simply type git pull
  • Then you will be asked for username and password for gitlab
  • Enter your username which you will find out in gitlab account in profile section.
  • Then after that enter you updated password here.
  • Here we go, again try to push your code, it may help you guys.
  • Move to .git/config file and edit it,
  • Remove invalid URL(if it's there) and paste the valid git SSH/HTTP URL like below way:
  • [remote "origin"]
            url = git@gitlab.com:prat3ik/my-project.git
    

    And it was working!!

  • Generate an access token: to do so go to settings/access tokens, then give it a name and expiration date and submit.

  • In your project files open the "config" file in ".git" directory: /.git/config.

  • You will find a line like this:

    [remote "origin"] url = https://[username]:[token]@your-domain.com/your-project.git

  • You will have your gitlab username instead of [username], and you should replace [token] with your token generated in step 1.

  • Save the changes.

  • Strangely enough, what worked for me was to sign out and sign back in to the GitLab web UI.

    I have no earthly idea why this worked.

    it worked for me: I use Mac and I wrote the path on finder:

    ~/Library/Application Support/SourceTree

    I deleted the auth file which should be like

    yourUserName@STAuth-gitlab.yourAdress

    then tried to push and pull the code from the source tree and it worked.

    You can also read the following answers:

    https://community.atlassian.com/t5/Sourcetree-questions/How-to-update-HTTP-S-credentials-in-sourcetree/qaq-p/297564

    So for me the problem was that I had created my GitLab account via linking my GitHub account to it. This meant that no password formally existed for the account as it was created via hotlink between GitHub and GitLab. I fixed it by going to GitLab Settings -> Password -> and writing the same password as my GitHub account had.

    None of the above solutions worked for me and I don't have admin rights on my laptop, but they eventually led me to the git tools credential storage doc :

    My setup Windows 10 | git version 2.18.0.windows.1 | Clone through HTTPS link

    This solution works if you use wincred as credential helper :

    > git config --global credential.helper
    wincred
    

    Changing the helper to "cache" should do the trick, as it will ask you to provide your credentials again. To set it to cache, just type :

    > git config --global credential.helper cache
    

    Check your update is active:

    > git config --global credential.helper
    cache
    

    You should now be able to clone / pull / fetch as before.

    In my case I reinstalled to the latest version of git (currently 2.16.2). I don't know if it was that my old version of git was outdated, but I read on a github page that this should be done if you stumble into https cloning errors. I figured it was an https cloning error as the error focuses on HTTP Basic, while GitLab uses HTTPS. I might be wrong in this thought process, but the solution helped in my case, and I hope this helps anyone in the future!