GitLab remote: HTTP Basic: Zugriff verweigert und schwerwiegende Authentifizierung


269

Ich bin auf Mac OS im Gegensatz zu diesem Beitrag:

Ich habe das Passwort in GitLab konfiguriert.

Ich habe einen SSL-Schlüssel erstellt, nachdem das Projekt auf GitLab erstellt wurde.

Wenn ich einen vorhandenen Ordner für ein neues Projekt verwende und die folgenden Schritte ausführe:

Bestehender Ordner

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

Ich werde aufgefordert, meinen GitLab-Benutzernamen und mein Passwort einzugeben. Nach Eingabe des Passworts erhalte ich:

remote: HTTP Basic: Zugriff verweigert schwerwiegend: Authentifizierung für ' https://gitlab.com/myname/myproject ' fehlgeschlagen


Die folgenden Antworten haben bei mir nicht funktioniert. Wenn immer noch jemand mit diesem Problem auf dem Mac konfrontiert ist,
PALLAMOLLA SAI

Antworten:


536

Es passiert jedes Mal, wenn ich gezwungen bin, das Windows-Passwort zu ändern, und keine der oben genannten Antworten hat mir geholfen.

Versuchen Sie die folgende Lösung, die für mich funktioniert:

  1. Wechseln Sie zum Windows Credential Manager . Dies erfolgt in einem EN-US-Windows, indem Sie die Windows-Taste drücken und "Anmeldeinformationen" eingeben. In anderen lokalisierten Windows-Varianten müssen Sie den lokalisierten Begriff verwenden (einige Beispiele finden Sie in den Kommentaren).

    Alternativ können Sie die Verknüpfung control /name Microsoft.CredentialManagerim Ausführungsdialog verwenden (WIN + R).

  2. Bearbeiten Sie den Git-Eintrag unter Windows-Anmeldeinformationen und ersetzen Sie das alte Kennwort durch das neue.

3
Danke, das hat auch bei mir funktioniert und das Problem gelöst. Sie benötigen diese Lösung, wenn Sie verschiedene Github-Konten auf Ihrem Gerät haben
Dany Wehbe

4
Es hat auch bei mir funktioniert, obwohl ich mehrere Gilab-Konten verwende. Als ich das tat, habe ich mein gesamtes Gitlab-Konto mit demselben Passwort aktualisiert, das ich in meinem Credential Manager habe, und das Problem ist gelöst. Danke @ mpro
Rajan Chauhan

6
Hinweis: Geben Sie es in Ihr Sprachsystem ein. Rus: "Credential Manager" = "Диспетчер Учетных Данных"
Dyno Cris

2
Gute Antwort. Dies ist insbesondere bei Ihren Arbeitskonten der Fall, bei denen Sie ab und zu Ihre Kennwörter ändern müssen.
Geekidharsh

4
Auf Deutsch ist es "Anmeldeinformationsverwaltung" und dann "Windows-Anmeldeinformationen".
Nachtigall

169
   git config --system --unset credential.helper

Geben Sie dann ein neues Passwort für den Git-Remote-Server ein.


22
Beachten Sie, dass Sie es unter Windows als Administrator ausführen müssen, da sonst Berechtigungsfehler auftreten
Eternal21

6
Es hängt davon ab, wo Sie Ihre Anmeldeinformationen ablegen. Wenn der vorherige Befehl nicht funktioniert, versuchen Sie auch, das globale Flag zu verwenden:git config --global--unset credential.helper
Vincent Lunat

Dies ist die relevanteste Antwort für das OP, da es das Problem behebt und sich nicht auf "unter Windows" bezieht. Als Randnotiz müssen Sie diesen Befehl möglicherweise so ausführen, als sudoob Ihr Benutzer keinen Zugriff auf/etc
Ghostrydr

git config --system credential.helper manager, um credential.helper wieder zu verwenden.
Hatanooh

Wenn Sie den Helfer für Anmeldeinformationen deaktivieren, müssen Sie bei jeder Verbindung zum GIT-Repository Benutzername und Kennwort angeben. Um dies zu beheben, können Sie den Helfer erneut mit dem folgenden Befehl einstellen: git config --global credential.helper store
Tomasz Czechowski

86

Ich habe den gleichen Fehler erhalten und diesen gelöst durch:

  1. Befehl von cmd anwenden (als Administrator ausführen)

    git config --system --unset credential.helper

  2. Und dann habe ich die gitconfig- Datei aus C: \ Programme \ Git \ mingw64 / etc / location entfernt (Hinweis: Dieser Pfad unterscheidet sich im MAC wie "/ Users / username").

  3. Danach benutze git Befehl wie git pullodergit push , fragte mich nach Benutzername und Passwort. Anwenden eines gültigen Benutzernamens und Passworts und des funktionierenden git-Befehls.

hoffe das hilft dir ...


11
Wenn Sie diesen Fehler erhalten, können Sie einfach Ihre Eingabeaufforderung als Administrator ausführen, und der Fehler wird behoben.
Eternal21

Zu Ihrer Information: Nur das Zurücksetzen der Konfiguration (Ihres ersten Cmd) hat funktioniert. Ich habe dann meinen Git Push und Blammo gemacht! Ich denke, das liegt daran, dass mein Shop monatliche Passwortänderungen erfordert, damit das interne Git-Labor durcheinander gerät.
Yardpenalty.com

1
Versuchen Sie es auch so mit --global git config --global --unset credential.helper
Mike

Dies löste es für mich auf einem Mac
Aditya Vikas Devarapalli vor

57

Für mich hat folgendes funktioniert:

Verwenden Sie nicht Ihr GitLab-Passwort, sondern erstellen Sie ein Zugriffstoken und verwenden Sie es anstelle Ihres Passworts:

  1. Gehen Sie in GitLab zu Einstellungen > Zugriffstoken
  2. Erstellen Sie ein neues Token (überprüfen Sie die API )
  3. Git-Klon ...
  4. Wenn Sie nach Ihrem Passwort gefragt werden, kopieren Sie das Zugriffstoken anstelle Ihres GitLab-Passworts und fügen Sie es ein

4
Hat auch für mich gearbeitet!
Christian Ray Leovido

42

Das einzige, was für mich funktionierte, war https://username:Password@gitlab.com/user/projectgitanstelle von https://gitlab.com/user/projectgit. Siehe https://gitlab.com/gitlab-com/support-forum/issues/1654


1
Tolle Antwort, es funktioniert gut für mich, weil mein Git privat war. Danke
Mohammad H.

Vielen Dank. Ich muss es zwar durch eine SSL-Repo-URL ersetzen, aber Ihre Antwort lässt mich helfen. Ich habe es positiv bewertet.
Muzzamil

Vielen Dank. Ich hatte kein solches Problem bei der Verwendung von BitBucket oder Github. Mit GitLab muss ich ein persönliches Zugriffstoken erstellen und dieses dann im Remote-Ursprung verwendengit remote set-url origin https://usernameHere:personalAccessTokenHere@gitlab.com/usernameHere/projectNameHere
Woppi,

37

Gehen Sie zum Windows Credential Manager (drücken Sie die Windows-Taste und geben Sie 'credential' ein), um den Git-Eintrag unter Windows Credentials zu bearbeiten. Ersetzen Sie das alte Passwort durch das neue.

Windows Credential Manager


OP ist unter MacOS, nicht unter Windows.
Matthieu Brucher

Dies würde OP nicht helfen, aber es funktionierte wie ein Zauber auf meiner Windows-Entwicklungsbox.
Tony

27

Ich stand auch vor dem gleichen Problem. Der Grund für das Problem war ein Authentifizierungsfehler. Um dieses Problem zu lösen, gehen Sie zu Systemsteuerung -> Anmeldeinformations-Manager -> Allgemeine Anmeldeinformationen. Suchen Sie hier Ihre Gitlab-Anmeldeinformationen und bearbeiten Sie sie. Stellen Sie sicher, dass Ihr ID-Passwort richtig ist oder nicht

Geben Sie hier die Bildbeschreibung ein


Dies hat den Trick getan, in meinem Fall, weil das Unternehmen uns zwingt, das Domain-Passwort alle paar Monate zu ändern. Durch diese Änderung wurden die Anmeldeinformationen in diesem Anmeldeinformationsmanager nicht aktualisiert. Sobald ich das Passwort aktualisiert hatte, funktionierte es.
k4yaman

21

Wenn Sie git> 2.11 verwenden und Kerberos für die Interaktion mit Gitlab verwenden, müssen Sie diese Konfiguration in Ihrem lokalen Git festlegen, um den remote: HTTP Basic: Access deniedFehler zu vermeiden .

$ git config --global http.emptyAuth true

Quelle


Interessanter Fall mit Kerberos. +1
VonC

1
Ich verwende kein Kerberos, aber ich danke Ihnen für Ihre Antwort.
Jeancode

Kerberossind nicht notwendig. Vielen Dank! git-scm.com/docs/git-config
Contributorpw

Nach einer Neuinstallation von Git unter Windows heute Morgen. Diese Antwort hat den Fehler "Zugriff verweigert" für mich behoben.
James

Heilige Kuh - ich ging alle anderen Vorschläge durch und schließlich funktionierte dieser endlich. In der Tat wurde Kerberos verwendet!
Bon Crowder bei MathFour

20

Fügen Sie einfach Ihren Benutzernamen vor der Domain hinzu:

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

Und der Assistent fragt Sie nach dem Passwort



12

Öffnen Sie die Eingabeaufforderung als Administrator und führen Sie den folgenden Befehl aus:

git config --system --unset credential.helper

Konfigurationsdatei C: \ Programme \ Git \ mingw64 / etc / gitconfig konnte nicht gesperrt werden: Berechtigung verweigert

1
Sie verwenden keine Konfigurationsdatei, öffnen einfach die Eingabeaufforderung als Administrator und führen den Befehl aus. Hoffe das hilft
MD. Shafayatul Haque

12

Dies passiert, wenn Sie Ihr Login oder Passwort des Git-Service-Kontos (GitHub oder GitLab, Bitbacket usw.) ändern. Sie müssen es auch im Windows Credentials Manager ändern.

Geben Sie also " Credential Manager " (rus. "Диспетчер Учетных Данных") in das Windows-Suchmenü ein, gehen Sie zu Ihrem Git-Dienstkonto und ändern Sie auch die Daten.

Geben Sie hier die Bildbeschreibung ein


Obwohl ich meinen Benutzer oder mein Kennwort nicht geändert habe (es handelt sich um einen AD-Berechtigungsnachweis), ist mir dies aufgrund einer Neuerstellung des Gitlab-Servers passiert, und die obige Lösung hat diesen Fehler behoben.
Michael Hafner

11

Hinweis: Mischen Sie keine GitLab SSL-Einstellungen und GitLab SSH-Schlüssel .

Wenn Sie in Ihrem GitLab-Profil einen öffentlichen SSH-Schlüssel konfiguriert haben, wird dieser von Ihrer HTTPS-URL nicht verwendet.

Überprüfen Sie Ihre HTTPS-Anmeldeinformationen noch einmal:

  • wenn die Zwei-Faktor-Authentifizierung deaktiviert ist, oder
  • wenn Ihr Benutzername oder Passwort Sonderzeichen enthält, oder
  • Wenn Sie einen Git-Anmeldeinformations-Helfer haben : git config credential.helper.

1
- Ich habe ein Leerzeichen in meinem Benutzernamen, weil ich Gitlab über Github authentifiziert habe. - Die Zwei-Faktor-Authentifizierung ist deaktiviert. - Was meinst du mit "Wenn ich einen Git-Anmeldeinformations-Helfer habe?
Jeancode

@jeancode Ich meine: Was sehen Sie, wenn Sie eingeben git config credential.helper: Das könnte die falschen Anmeldeinformationen zwischengespeichert haben.
VonC

@jeancode Haben Sie den Speicherplatz prozentual codiert? ( en.wikipedia.org/wiki/Percent-encoding#Character_data:% 20)
VonC

Ich habe nichts mit dem Leerzeichen im Namen gemacht. Das Leerzeichen stammt von meinem Namen in GitHub, den GitLab während der Authentifizierungsanmeldung über Github abgerufen hat.
Jeancode

1
Ich habe den Fehler erhalten, weil ich versucht habe, Bereitstellungsschlüssel zu verwenden, während die Zwei-Faktor-Authentifizierung aktiviert war. Anscheinend können Sie persönliche Zugriffstoken nur verwenden, wenn Zwei-Faktor aktiviert ist.
Joshua Dyck

9

Ich habe dieses Problem auf zwei Arten umgangen:

  1. Ich habe meinen Benutzernamen an der Vorderseite der Remote-URL hinzugefügt ( https: // Benutzername @ gitRepoURL ).

    • Nicht immer die beste Lösung; Wo ich arbeite, obwohl wir uns langsam in Richtung GIT bewegen, haben wir unsere Anwendungen auf einem Netzwerklaufwerk. Wenn ich dies tue, kann nur ich Änderungen vornehmen, selbst wenn jemand anderes an einer Funktion gearbeitet hat.
  2. Ich kann nicht git config --system --unset credential.helperüber GIT Bash ausgeführt werden, daher musste ich eine Admin-Eingabeaufforderung öffnen und dort ausführen (dies setzt voraus, dass Sie GIT so installiert haben, dass es sowohl über GIT Bash als auch über die Eingabeaufforderung ausgeführt werden kann). Von Bash erhalte ich den Fehler "Konfigurationsdatei konnte nicht gesperrt werden".


Weitere Informationen finden Sie unter : git config -l. Versuchen Sie es auch oben mit --globalanstelle von--system
Mike

9

Nun, ich hatte das gleiche Problem, wenn ich mein Login-Passwort ändere.

Unten ist der Befehl, den ich ausführen muss, um dieses Problem zu beheben: -

git config --global credential.helper wincred

Nachdem ich den obigen Befehl ausgeführt habe, werde ich erneut nach meinem aktualisierten Benutzernamen und Passwort gefragt .


5

In meinem Fall habe ich die neueste Version von git (derzeit 2.16.2) neu installiert. Ich weiß nicht, ob meine alte Version von git veraltet war, aber ich habe auf einer Github-Seite gelesen, dass dies getan werden sollte, wenn Sie auf https- Klonfehler stoßen . Ich dachte, es sei ein https-Klonfehler, da sich der Fehler auf HTTP BasicGitLab konzentriert HTTPS. Ich könnte mich in diesem Denkprozess irren, aber die Lösung hat in meinem Fall geholfen, und ich hoffe, dass dies in Zukunft jedem hilft!


4

Gehen Sie zu C:\Users\<<USER>> AND DELETE THE .gitconfig fileund versuchen Sie dann einen Befehl, der eine Verbindung zum Upstream herstellt git clone, git pull or git push. Sie werden aufgefordert, Ihre Anmeldeinformationen erneut einzugeben. Bitte tun Sie dies.


4

Ich habe Gitlab-Anmeldeinformationen aus 'Credential Manager' in Windows entfernt und erfolgreich gepusht


4

Gehen Sie zu Systemsteuerung-> Anmeldeinformations-Manager-> Windows-Anmeldeinformationen, wählen Sie github- oder gitlab-Anmeldeinformationen aus und ändern Sie sie. Dies ist für Windows 10


3

es hat bei mir funktioniert: Ich benutze Mac und habe den Pfad auf Finder geschrieben:

~ / Bibliothek / Anwendungsunterstützung / SourceTree

Ich habe die Auth-Datei gelöscht, die so aussehen sollte

yourUserName@STAuth-gitlab.yourAdress

Dann wurde versucht, den Code aus dem Quellbaum zu verschieben und zu ziehen, und es funktionierte.

Sie können auch die folgenden Antworten lesen:

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


2

Wenn Sie versuchen, Gitlab mit Ihrem vorhandenen Git-Konto anzumelden. Sie müssen Ihr Passwort von Gitlab zum ersten Mal zurücksetzen.

  1. Schritt: Navigieren Sie zur Einstellung, indem Sie auf Ihr Profilsymbol klicken (Dropdown-Menü in der oberen rechten Ecke).
  2. Schritt: Gehen Sie zu den Einstellungen
  3. Schritt: Klicken Sie auf das Schlosssymbol oder das Glyphikonsymbol (dh das Passwort).
  4. Schritt: Geben Sie das neue Passwort für Gitlab ein.

2

Für mich war das Problem, dass ich mein GitLab-Konto durch Verknüpfen meines GitHub-Kontos damit erstellt hatte. Dies bedeutete, dass formal kein Passwort für das Konto vorhanden war, da es über einen Hotlink zwischen GitHub und GitLab erstellt wurde. Ich habe es behoben, indem ich zu GitLab-Einstellungen -> Passwort -> gegangen bin und dasselbe Passwort geschrieben habe, das mein GitHub-Konto hatte.


2

Keine der oben genannten Lösungen funktionierte für mich und ich habe keine Administratorrechte auf meinem Laptop , aber sie führten mich schließlich zum Dokument mit den Anmeldeinformationen für Git-Tools :

Mein Setup Windows 10 | git version 2.18.0.windows.1 | Klonen über HTTPS-Link

Diese Lösung funktioniert, wenn Sie wincred als Anmeldeinformationshilfe verwenden:

> git config --global credential.helper
wincred

Das Ändern des Hilfsprogramms in "Cache" sollte den Trick tun, da Sie aufgefordert werden, Ihre Anmeldeinformationen erneut anzugeben. Geben Sie einfach Folgendes ein, um den Cache festzulegen:

> git config --global credential.helper cache

Überprüfen Sie, ob Ihr Update aktiv ist:

> git config --global credential.helper
cache

Sie sollten nun in der Lage sein, wie zuvor zu klonen / zu ziehen / abzurufen.



1

Ich habe es dann mit Browser-URL für das Repository versucht

Git-Klon $ (browserURL)

Es wurde nach meinem Benutzernamen und dann nach meinem Passwort gefragt

Es hat dann gut funktioniert


1

Wenn der Windows-Manager für Anmeldeinformationen nach Ihren Anmeldeinformationen für den Zugriff auf GitLab fragt, sind dies Benutzername und Kennwort, die Sie beim Zugriff auf GitLab verwenden. EG: Verwenden Sie Ihre E-Mail-Adresse und Ihr Passwort.


1

Als ich das gleiche Problem hatte,

Ich habe es gelöst, indem ich die Datei "passwd" in entfernt habe

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

Nach dem Entfernen fordert Sourcetree zur Eingabe des Passworts auf.

Note:
OS Version : win10 
Sourcetree Version:  3.1

1

Ich glaube, ich bin etwas spät hier. Aber ich denke, das würde den neuen Blicken helfen!

Meine Fehler waren: remote : HTTP Basic: Zugriff verweigert

remote : Sie müssen ein persönliches Zugriffstoken mit dem Bereich 'read_repository' oder 'write_repository' für Git over HTTP verwenden.

remote : Sie können eine unter https://gitlab.com/profile/personal_access_tokens erstellen

Schwerwiegend : Authentifizierung für ' https://gitlab.com/PROFILE_NAME/REPO_NAME.git/ ' fehlgeschlagen.

Ich bin auf Ubuntu, aber das hat bei mir funktioniert:

  1. Gehen Sie zu https://gitlab.com/profile/personal_access_tokens
  2. Erstellen Sie ein neues Token und markieren Sie das Häkchen für alle.
  3. Kopieren Sie Ihren Token
  4. Gehen Sie jetzt zu Ihrem Terminal und fügen Sie es so ein.

Git-Klon https: // oauth2: YOUR_TOKEN@gitlab.com/PROFILE_NAME/REPO_NAME.git/



0

Für Mac-Benutzer:

  1. Gehen Sie zum Schlüsselbund und löschen Sie die Gitlab-Konten
  2. Gehen Sie zu Ihrem Projektpfad im Terminal und geben Sie einfach git pull ein
  3. Dann werden Sie nach Benutzername und Passwort für gitlab gefragt
  4. Geben Sie Ihren Benutzernamen ein, den Sie im gitlab-Konto im Profilbereich finden.
  5. Danach geben Sie hier Ihr aktualisiertes Passwort ein.
  6. Los geht's, versuchen Sie noch einmal, Ihren Code zu pushen, es könnte Ihnen helfen.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.