GitLab - Clone a repository when 2FA enabled

I love services which provide extra security. One way to provide such a level security is by using Two Factor Authentication (2FA). GitLab provides 2FA, and I enabled it. After that, cloning a repository will not work in the usual mode,

    git clone https://gitlab.com/username/projectname.git

It will result

Cloning into 'projectname'...
remote: HTTP Basic: Access denied
remote: You must use a personal access token with 'api' 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/username/projectname.git/'

As the response suggest, we need to create a personal access token.

Creating a personal access token

  1. Log in to your GitLab account.
  2. Go to your Profile settings.
  3. Go to Access tokens.
  4. Choose a name and optionally an expiry date for the token.
  5. Choose the desired scopes (api access).
  6. Click on Create personal access token.
  7. Save the personal access token somewhere safe. Once you leave or refresh the page, you won’t be able to access it again.

Once you have created your personal access token, try cloning by

    git clone https://oauth2:[email protected]/username/projectname.git

Replace 'PERSONAL_ACCESS_TOKEN' with the token you have generated.

Additional Resources


comments powered by Disqus

About the author

  • Abhith Rajan

    Abhith Rajan

    Abhith Rajan is a full-stack developer, consultant, Sysberries employee, and biker. Who passionate about C# and JavaScript. Works on his blog, his personal finance web app and its react native mobile app in his free time.

    Buy me a coffeeBuy me a coffee