GitLab remote: HTTP Basic: Accès refusé et authentification fatale

269

Je suis sur mac OS contrairement à ce post:

J'ai un mot de passe configuré dans GitLab.

J'ai créé une clé SSL APRÈS que le projet a été réalisé sur GitLab.

Lorsque j'utilise un dossier existant pour un nouveau projet et suis les étapes ci-dessous:

Dossier existant

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

Je suis invité à saisir mon nom d'utilisateur et mon mot de passe GitLab. Une fois le mot de passe entré, j'obtiens:

à distance: HTTP Basic: accès refusé fatal: l'authentification a échoué pour ' https://gitlab.com/myname/myproject '

jeancode
la source
Les réponses suivantes n'ont pas fonctionné pour moi .. Si toujours quelqu'un confronté à ce problème sur mac ... ce lien pourrait aider ... stackoverflow.com/questions/17659206/…
PALLAMOLLA SAI

Réponses:

537

Cela arrive à chaque fois que je suis obligé de changer le mot de passe Windows et aucune des réponses ci-dessus ne m'a aidé.

Essayez la solution ci-dessous qui fonctionne pour moi:

  1. Accédez à Windows Credential Manager . Cela se fait dans un Windows EN-US en appuyant sur la touche Windows et en tapant 'credential'. Dans d'autres variantes de Windows localisées, vous devez utiliser le terme localisé (voir les commentaires pour quelques exemples).

    Sinon , vous pouvez utiliser le raccourci control /name Microsoft.CredentialManagerdans la boîte de dialogue d'exécution (WIN + R)

  2. Modifiez l'entrée git sous Windows Credentials, en remplaçant l'ancien mot de passe par le nouveau.
mpro
la source
3
Merci, cela a également fonctionné pour moi et a résolu le problème. Vous avez besoin de cette solution si vous avez différents comptes Github sur votre appareil
Dany Wehbe
4
Cela a fonctionné pour moi aussi bien que j'utilise plusieurs comptes gilab donc ce que j'ai fait, j'ai mis à jour tous mes comptes gitlab avec le même mot de passe que celui que j'ai dans mon gestionnaire d'informations d'identification et le problème est résolu Merci @ mpro
Rajan Chauhan
6
Remarque: saisissez-le dans votre système linguistique. Rus: "Credential Manager" = "Диспетчер Учетных Данных"
Dyno Cris
2
Très bonne réponse. C'est particulièrement le cas avec vos comptes professionnels où vous devez changer vos mots de passe de temps en temps.
geekidharsh
4
En allemand, c'est "Anmeldeinformationsverwaltung" puis "Windows-Anmeldeinformationen".
nachtigall
169
   git config --system --unset credential.helper

puis entrez un nouveau mot de passe pour le serveur distant Git.

hatanooh
la source
22
Notez que sous Windows, vous devez l'exécuter en tant qu'administrateur, sinon vous obtiendrez des erreurs d'autorisation
Eternal21
6
Cela dépend où vous mettez vos informations d'identification. Si la commande précédente ne fonctionne pas, essayez également d'utiliser le drapeau global:git config --global--unset credential.helper
Vincent Lunat
Il s'agit de la réponse la plus pertinente pour l'OP car elle résout le problème, et ne va pas sur une tangente "sous Windows". En outre, en guise de remarque, vous devrez peut-être exécuter cette commande comme sudosi votre utilisateur n'avait pas accès à/etc
Ghostrydr
git config --system credential.helper manager, pour réutiliser credential.helper.
hatanooh
Si vous désactivez l'aide aux informations d'identification, vous devrez fournir un nom d'utilisateur et un mot de passe à chaque connexion au référentiel GIT. Pour résoudre ce problème, vous pouvez définir à nouveau l'aide en utilisant la commande suivante: git config --global credential.helper store
Tomasz Czechowski
86

J'ai eu la même erreur et j'ai résolu cela en:

  1. Appliquer la commande de cmd (exécuter en tant qu'administrateur)

    git config --system --unset credential.helper

  2. Et puis j'ai supprimé le fichier gitconfig de C: \ Program Files \ Git \ mingw64 / etc / location (Remarque: ce chemin sera différent sous MAC comme "/ Users / username")

  3. Après avoir utilisé la commande git comme git pullougit push , il m'a demandé un nom d'utilisateur et un mot de passe. appliquer un nom d'utilisateur et un mot de passe valides et la commande git fonctionne.

J'espère que ceci vous aidera...

Bharti Ladumor
la source
11
Si vous obtenez cette erreur, vous pouvez simplement exécuter votre invite de commande en tant qu'administrateur et l'erreur disparaît.
Eternal21
FYI: Réinitialisation de la configuration (votre premier cmd) a fonctionné. J'ai ensuite fait mon git push et blammo! Je pense que c'est parce que ma boutique nécessite des changements de mot de passe mensuels, donc le laboratoire interne de git se détraque.
yardpenalty.com
1
essayez aussi de cette façon avec --global git config --global --unset credential.helper
Mike
Cela m'a résolu sur un Mac
Aditya Vikas Devarapalli
57

Pour moi, ce qui suit a fonctionné:

N'utilisez pas votre mot de passe GitLab, mais créez un jeton d'accès et utilisez-le à la place de votre mot de passe:

  1. Dans GitLab, accédez à Paramètres > Jetons d'accès
  2. Créez un nouveau jeton (vérifiez l' API )
  3. git clone ...
  4. Lorsque vous êtes invité à saisir votre mot de passe, copiez et collez le jeton d'accès au lieu de votre mot de passe GitLab
JavAlex
la source
4
A également fonctionné pour moi!
Christian Ray Leovido du
42

La seule chose qui a fonctionné pour moi était d'utiliser https://username:[email protected]/user/projectgitau lieu de https://gitlab.com/user/projectgit. Voir https://gitlab.com/gitlab-com/support-forum/issues/1654

Paulo Morgado
la source
1
Excellente réponse, cela fonctionne très bien pour moi parce que mon git était privé, merci
Mohammad H.
Merci. Bien que pour moi, je doive le remplacer par l'URL du repo SSL, mais votre réponse m'aide. Je l'ai voté.
Muzzamil
Merci. Je n'ai pas eu un tel problème lors de l'utilisation de BitBucket ou Github. Avec GitLab, je dois créer un jeton d'accès personnel, puis l'utiliser dans une origine distantegit remote set-url origin https://usernameHere:[email protected]/usernameHere/projectNameHere
Woppi
38

Accédez à Windows Credential Manager (appuyez sur la touche Windows et saisissez 'credential') pour modifier l'entrée git sous Windows Credentials. Remplacez l'ancien mot de passe par le nouveau.

Gestionnaire d'informations d'identification Windows

Andy Quiroz
la source
OP est sur macOS, pas sur Windows.
Matthieu Brucher
Cela n'aiderait pas OP, mais cela a fonctionné comme un charme sur ma boîte de développement Windows.
Tony
merci, cela a bien fonctionné
Sirwan Rahimi
28

J'étais également confronté au même problème. La raison du problème était une erreur d'authentification. Pour résoudre ce problème, allez dans Panneau de configuration -> Gestionnaire d'informations d'identification -> Informations d'identification génériques ici, trouvez vos informations d'identification gitlab et modifiez-les. Assurez-vous que votre mot de passe ID est correct ou non

entrez la description de l'image ici

Kshama Jain
la source
Cela a fait l'affaire, dans mon cas, c'est parce que la société nous oblige à changer le mot de passe de domaine tous les quelques mois. Cette modification n'a pas mis à jour les informations d'identification dans ce gestionnaire d'informations d'identification. Dès que j'ai mis à jour le mot de passe, cela fonctionnait.
k4yaman
21

Si vous utilisez git> 2.11 et utilisez Kerberos pour interagir avec Gitlab, vous devez définir cette configuration dans votre git local pour éviter l' remote: HTTP Basic: Access deniederreur.

$ git config --global http.emptyAuth true

La source

Pigueiras
la source
Cas intéressant, avec Kerberos. +1
VonC
1
Je n'utilise pas Kerberos mais merci pour votre réponse.
jeancode
Kerberosne sont pas nécessaires. Merci! git-scm.com/docs/git-config
contributorpw
Après avoir fait une nouvelle installation de Git sur Windows ce matin. Cette réponse a résolu une erreur d'accès refusé pour moi.
James
Sainte vache - j'ai parcouru toutes les autres suggestions et finalement, celle-ci a fonctionné. En effet utilisait Kerberos!
Bon Crowder à MathFour le
20

Ajoutez simplement votre nom d'utilisateur avant le domaine:

https://**username**@gitlab.com/user/projectgit

Et l'assistant vous demandera le mot de passe

gal007
la source
13

Essaye ça:

  1. Aller à: C:/Users/(YourUserName)/
  2. Supprimer le fichier .gitconfig
boy_vkallstar
la source
12

Ouvrez l'invite de commande en tant qu'administrateur, puis exécutez cette commande:

git config --system --unset credential.helper
MARYLAND. Shafayatul Haque
la source
n'a pas pu verrouiller le fichier de configuration C: \ Program Files \ Git \ mingw64 / etc / gitconfig: autorisation refusée
1
Vous n'utilisez pas le fichier de configuration, ouvrez simplement votre invite de commande en tant qu'administrateur et exécutez la commande. J'espère que cela aide
MD. Shafayatul Haque
12

Cela se produit si vous modifiez votre identifiant ou mot de passe de compte de service git (GitHub ou GitLab, Bitbacket, etc.). Vous devez également le modifier dans le Gestionnaire d'informations d'identification Windows.

Donc, tapez " Credential Manager " (rus. "Диспетчер Учетных Данных") dans le menu de recherche Windows et accédez à votre compte de service git et modifiez également les données.

entrez la description de l'image ici

Dyno Cris
la source
Bien que je n'aie pas changé mon utilisateur ou mon mot de passe (il s'agit d'un identifiant AD), cela m'est arrivé en raison d'une reconstruction du serveur Gitlab et la solution ci-dessus a corrigé cette erreur.
Michael Hafner
11

Remarque: ne mélangez pas les paramètres SSL GitLab et les clés SSH GitLab .

Si ce que vous avez configuré dans votre profil GitLab est une clé publique SSH, votre URL HTTPS ne l'utilisera pas.

En ce qui concerne vos informations d'identification HTTPS, revérifiez:

  • si l'authentification à deux facteurs est désactivée, ou
  • si vous avez des caractères spéciaux dans votre nom d'utilisateur ou votre mot de passe, ou
  • si vous avez une aide des titres de compétence Git: git config credential.helper.
VonC
la source
1
- J'ai un espace dans mon nom d'utilisateur parce que j'ai authentifié Gitlab via Github - L'authentification à deux facteurs est désactivée - Que voulez-vous dire "Si j'ai un assistant d'informations d'identification Git?
jeancode
@jeancode je veux dire: que voyez-vous lorsque vous tapez git config credential.helper: cela aurait pu mettre en cache les mauvais identifiants.
VonC
@jeancode Pour l'espace, l'avez-vous codé pour cent? ( en.wikipedia.org/wiki/Percent-encoding#Character_data:% 20)
VonC
Je n'ai rien fait à l'espace dans le nom, l'espace vient de mon nom dans GitHub, que GitLab a saisi lors de la connexion d'authentification via Github.
jeancode
1
J'obtenais l'erreur en raison de l'utilisation de clés de déploiement alors que l'authentification à deux facteurs était activée. Apparemment, vous ne pouvez utiliser des jetons d'accès personnels que si deux facteurs sont activés.
Joshua Dyck
9

Il y a deux façons de contourner ce problème:

  1. J'ai ajouté mon nom d'utilisateur au début de l'URL distante ( https: // nomutilisateur @ gitRepoURL )

    • Pas toujours la meilleure solution; là où je travaille, même si nous progressons lentement vers l'utilisation de GIT, nous avons nos applications sur un lecteur réseau, donc si je le fais, je peux seulement pousser les changements même si quelqu'un d'autre a travaillé sur une fonctionnalité.
  2. Je ne peux pas exécuter à git config --system --unset credential.helperpartir de GIT Bash, j'ai donc dû ouvrir une invite de commande d'administration et l'exécuter là-bas (cela suppose que vous avez installé GIT de telle sorte qu'il puisse s'exécuter à partir de GIT Bash et de l'invite de commande). De Bash, j'obtiens une erreur "Impossible de verrouiller le fichier de configuration".

Artorias2718
la source
Pour de plus amples informations, voir: git config -l. Essayez également ci-dessus avec --globalau lieu de--system
Mike
9

Eh bien, j'ai rencontré le même problème chaque fois que je change mon mot de passe de connexion.

Voici la commande que je dois exécuter pour résoudre ce problème: -

git config --global credential.helper wincred

Après avoir exécuté la commande ci-dessus, il me demande à nouveau mon nom d'utilisateur et mon mot de passe mis à jour .

Vikash Pandey
la source
5

Dans mon cas, j'ai réinstallé la dernière version de git (actuellement 2.16.2). Je ne sais pas si c'était que mon ancienne version de git était obsolète, mais j'ai lu sur une page github que cela devrait être fait si vous tombez sur des erreurs de clonage https. J'ai pensé que c'était une erreur de clonage https car l'erreur se concentre sur HTTP Basic, alors que GitLab utilise HTTPS. Je peux me tromper dans ce processus de réflexion, mais la solution a aidé dans mon cas, et j'espère que cela aidera n'importe qui à l'avenir!

Andreas Forslöw
la source
4

GO TO C:\Users\<<USER>> AND DELETE THE .gitconfig filepuis essayez une commande qui se connecte en amont comme git clone, git pull or git push. Vous serez invité à ressaisir vos informations d'identification. Veuillez le faire.

Dennis Mutegi
la source
4

J'ai supprimé les informations d'identification gitlab de «Credential Manager» dans Windows et j'ai réussi à pousser

saiedkia
la source
4

Allez dans Panneau de configuration -> Gestionnaire d'informations d'identification -> Informations d'identification Windows, sélectionnez les informations d'identification github ou gitlab et modifiez-le. C'est pour windows10

SanjX
la source
3

cela a fonctionné pour moi: j'utilise Mac et j'ai écrit le chemin sur finder:

~ / Bibliothèque / Support d'application / SourceTree

J'ai supprimé le fichier d'authentification qui devrait ressembler à

[email protected]

a ensuite essayé de pousser et d'extraire le code de l'arborescence source et cela a fonctionné.

Vous pouvez également lire les réponses suivantes:

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

Burcu Kutluay
la source
2

Si vous essayez de vous connecter à Gitlab avec votre compte Git existant. Vous devez réinitialiser votre mot de passe Gitlab pour la première fois.

  1. Étape: accédez au paramètre en cliquant sur l'icône de votre profil (menu déroulant dans le coin supérieur droit).
  2. Étape: accédez aux paramètres
  3. Étape: Cliquez sur l'icône de verrouillage ou l'icône de glyphicon (par ex. Mot de passe).
  4. Étape: entrez le nouveau mot de passe pour Gitlab.
Gani
la source
2

Donc pour moi, le problème était que j'avais créé mon compte GitLab en y associant mon compte GitHub. Cela signifiait qu'aucun mot de passe n'existait formellement pour le compte car il a été créé via un lien hypertexte entre GitHub et GitLab. Je l'ai corrigé en allant dans Paramètres GitLab -> Mot de passe -> et en écrivant le même mot de passe que mon compte GitHub.

Momchill
la source
2

Aucune des solutions ci-dessus n'a fonctionné pour moi et je n'ai pas de droits d'administrateur sur mon ordinateur portable , mais elles m'ont finalement conduit au document de stockage des informations d'identification de git tools :

Ma configuration Windows 10 | git version 2.18.0.windows.1 | Cloner via un lien HTTPS

Cette solution fonctionne si vous utilisez wincred comme assistant d'identification:

> git config --global credential.helper
wincred

Changer l'assistant en "cache" devrait faire l'affaire, car il vous demandera de fournir à nouveau vos informations d'identification. Pour le mettre en cache, tapez simplement:

> git config --global credential.helper cache

Vérifiez que votre mise à jour est active:

> git config --global credential.helper
cache

Vous devriez maintenant pouvoir cloner / tirer / récupérer comme auparavant.

lkostka
la source
1

J'ai essayé avec l'URL du navigateur pour le référentiel puis

git clone $ (browserURL)

il m'a demandé mon nom d'utilisateur puis mon mot de passe

Cela a bien fonctionné alors

Saurabh Verma
la source
1

Lorsque le gestionnaire d'informations d'identification Windows vous demande vos informations d'identification pour accéder à GitLab, il s'agit du nom d'utilisateur et du mot de passe que vous utilisez lorsque vous accédez à GitLab. EG: utilisez votre email et votre mot de passe.

aercolino
la source
1

Quand j'ai eu le même problème,

Je l'ai résolu en supprimant le fichier "passwd" dans

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

Après avoir supprimé Sourcetree vous demandera le mot de passe.

Note:
OS Version : win10 
Sourcetree Version:  3.1
Jean-Philippe Vankemmel
la source
1

Je crois que je suis un peu en retard ici. Mais je pense que cela aiderait les nouveaux voyants!

Mes erreurs étaient: à distance : HTTP de base: accès refusé

remote : vous devez utiliser un jeton d'accès personnel avec la portée 'read_repository' ou 'write_repository' pour Git sur HTTP.

à distance : vous pouvez en générer un sur https://gitlab.com/profile/personal_access_tokens

fatal : l'authentification a échoué pour « https://gitlab.com/PROFILE_NAME/REPO_NAME.git/ »

Je suis sur Ubuntu mais cela a fonctionné pour moi:

  1. Goto https://gitlab.com/profile/personal_access_tokens
  2. Créez un nouveau jeton et cochez la case à tous.
  3. Copiez votre jeton
  4. Maintenant, allez dans votre terminal et collez-le comme ceci.

git clone https: // oauth2: [email protected]/PROFILE_NAME/REPO_NAME.git/

Gaurav
la source
0

Pour les utilisateurs de Mac:

  1. Accédez au trousseau et supprimez les comptes gitlab
  2. Accédez à votre chemin de projet dans le terminal et tapez simplement git pull
  3. Ensuite, on vous demandera le nom d'utilisateur et le mot de passe pour gitlab
  4. Entrez votre nom d'utilisateur que vous trouverez dans le compte gitlab dans la section profil.
  5. Ensuite, entrez votre mot de passe mis à jour ici.
  6. C'est parti, essayez à nouveau de pousser votre code, cela peut vous aider.
vikash kumar
la source