it-swarm.com.de

GitHub-Authentifizierung schlägt über https fehl und gibt eine falsche E-Mail-Adresse zurück

Das Initiieren eines Pushs oder einer anderen Aktion mit GitHub über die Befehlszeile (über https, nicht über ssh), bei der Benutzername und Kennwort abgefragt werden, schlägt nicht nur fehl, sondern es wird auch zurückgegeben, wenn dies der Fall ist

Username for 'https://github.com': username
Password for 'https://[email protected]': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/username/repository.git/'

Ich habe kein @github.com Adresse. Das Passwort und der Benutzername sind korrekt.

Ich weiß, dass ich zu SSH wechseln und Schlüssel verwenden könnte, aber das antwortet nicht, warum die Authentifizierung über https fehlschlägt.

118
ele

Die Unterstützung von GitHub hat die Ursache des Problems sofort ermittelt: Zwei-Faktor-Autorisierung.

Um GitHub über die Shell mit https zu verwenden, erstellen Sie ein OAuth Token . Wie auf der Seite vermerkt, musste ich meinen Benutzernamen und mein Passwort aus dem Schlüsselbund entfernen, aber mit osx-keychain an Ort und Stelle wird das Token als Kennwort gespeichert, und die Dinge funktionieren genauso wie über https, ohne dass eine Zwei-Faktor-Autorisierung vorhanden ist.

161
ele

Ich habe keine @github.com Adresse

Sie müssen nicht: der @ Ist das Trennzeichen zwischen dem Benutzernamen: Passwort und der Domain.
Es ist keine E-Mail-Adresse.

Eine vollständige GitHub-https-URL wäre:

https://username:[email protected]/username/reponame.git

Ohne das Passwort (welches dann in der Kommandozeile abgefragt würde) würde das ergeben:

https://[email protected]/username/reponame.git

Aber auch hier ist [email protected] Keine E-Mail-Adresse, sondern nur der erste Teil der Anmeldeinformationen.

Stellen Sie sicher, dass die Groß- und Kleinschreibung von username und reponame korrekt ist: Groß- und Kleinschreibung beachten .

Beachten Sie, dass Sie Ihre Anmeldeinformationen in einem .netrc.gpg (Oder _netrc.gpg Unter Windows) speichern und verschlüsseln können, wenn Sie diese Anmeldeinformationen nicht in der URL löschen möchten.
Siehe " Gibt es eine Möglichkeit, die Kennworteingabe bei Verwendung von https://github Zu überspringen? ".

22
VonC
  • Gehen Sie zu Credential Manager => Windows Manager
  • Löschen Sie alles, was mit tfs zu tun hat
  • Klicken Sie nun auf . Fügen Sie einen allgemeinen Berechtigungsnachweis hinzu und geben Sie die folgenden Werte ein

    (1) Internet- oder Netzwerkadresse: git: https: //tfs.donamain name (2) Benutzername: Ihr Benutzername (3) Passwort: Ihr Passwort

    dies sollte es beheben

17
Oyebisi Jemil

In Windows kann es vorkommen, dass Sie zuvor andere Anmeldeinformationen gespeichert haben. Gehen Sie zu Credential Manager und löschen Sie gespeicherte github-Anmeldeinformationen

9
Random

[Nur Mac]

Wenn Sie Ihre Authentifizierung löschen müssen, verwenden Sie

git credential-osxkeychain erase
Host=github.com
protocol=https

auf dem Mac.

Siehe https://help.github.com/articles/updating-credentials-from-the-osx-keychain/

8
Dan Rosenstark

Nur für den Fall, dass dies auch jemand anderem hilft, war ich in der Mac-App angemeldet, die Befehlszeile funktionierte einwandfrei, aber da ich dann 2FA aktivierte, gaben meine Befehle den Fehler zurück. Ich musste mich von der App abmelden, dann konnte ich meinen persönlichen Zugriffstoken in meinen Befehlen gemäß der Antwort von ele verwenden hier .

Hoffentlich hilft das jemandem!

5
Joel Balmer

Das gleiche passierte bei mir, als ich die 2-Wege-Authentifizierung für Github aktiviert habe. Dinge, die ich getan habe, um zu lösen:

  • Holen Sie sich Ihren persönlichen Zugangstoken. Dies müssen Sie prüfen und generieren, falls noch nicht vorhanden. Link dazu: https://github.com/settings/tokens
  • Gehen Sie zu Ihrem lokalen Ordner und löschen Sie ihn. Klonen Sie den Zweig erneut von github.
  • Versuchen Sie nun den Befehl, den Sie zuvor versucht haben, d. H .: git pull Origin master
  • Geben Sie den Benutzernamen ein und fügen Sie unter Passwort das erzeugte Token ein. Vergessen Sie auch nicht, dieses Token irgendwo zu speichern, damit Sie es bei Bedarf wiederverwenden können.

Dadurch wird Ihr Problem gelöst.

4
palak