Das Initiieren eines Pushs oder einer anderen Aktion mit GitHub über die Befehlszeile (über https, nicht ssh), die den Benutzernamen und das Kennwort abruft, schlägt nicht nur fehl, sondern kehrt auch zurück
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 keine @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.
Antworten:
Die Unterstützung von GitHub bestimmte sofort die Ursache des Problems: die Zwei-Faktor-Autorisierung.
Erstellen Sie ein OAuth-Token , um GitHub über die Shell mit https zu verwenden . Wie auf der Seite vermerkt, musste ich meine Benutzernamen- und Kennwortanmeldeinformationen aus dem Schlüsselbund entfernen, aber wenn
osx-keychain
das Token vorhanden ist, wird es als Kennwort gespeichert, und die Dinge funktionieren genau so, wie sie über https ohne Zwei-Faktor-Autorisierung funktionieren würden.quelle
Sie müssen nicht: Das
@
ist das Trennzeichen zwischen dem Benutzernamen: Passwort und der Domain.Es ist keine E-Mail-Adresse.
Eine vollständige GitHub-https-URL wäre:
Ohne das Passwort (das dann in der Kommandozeile abgefragt würde) würde dies Folgendes ergeben:
Aber auch hier
[email protected]
handelt es sich nicht um eine E-Mail-Adresse, sondern nur um den ersten Teil der Anmeldeinformationen.Achten Sie darauf , den Fall Ihrer
username
undreponame
ist richtig: es Groß- und Kleinschreibung .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 zu überspringen?
https://github
".quelle
https://[email protected]/username/reponame.git
.! * ' ( ) ; : @ & = + $ , / ? # [ ]
)? Sie müssten "prozentcodiert" sein ( en.wikipedia.org/wiki/Percent-encoding ).Klicken Sie nun auf Generische Anmeldeinformationen hinzufügen und geben Sie die folgenden Werte ein
(1) Internet- oder Netzwerkadresse: git: https: //tfs.donamain name (2) Benutzername: Ihr Benutzername (3) Passwort: Ihr Passwort
das sollte es beheben
quelle
In Windows kann dies vorkommen, wenn Sie zuvor andere Anmeldeinformationen gespeichert haben. Gehen Sie zum Credential Manager und löschen Sie gespeicherte Github-Anmeldeinformationen
quelle
[Nur Mac]
Wenn Sie Ihre Authentifizierung löschen müssen, verwenden Sie
auf dem Mac.
Siehe https://help.github.com/articles/updating-credentials-from-the-osx-keychain/
quelle
Das gleiche passierte mit mir, als ich die 2-Wege-Authentifizierung für Github aktiviert habe. Dinge, die ich getan habe, um zu lösen:
Dadurch wird Ihr Problem gelöst.
quelle
Nur für den Fall, dass dies auch anderen hilft, wurde ich bei der Mac-App angemeldet, die Befehlszeile funktioniert einwandfrei, aber da ich dann 2FA aktiviert habe, haben meine Befehle den Fehler zurückgegeben. Ich musste mich von der App abmelden, dann konnte ich mein persönliches Zugriffstoken in meinen Befehlen gemäß der Antwort von ele hier verwenden .
Hoffentlich hilft das jemandem!
quelle
Unter Windows werden Sie möglicherweise stillschweigend von Ihrer Antivirus- oder Windows-Firewall blockiert. Schalten Sie diese Dienste vorübergehend aus und drücken / ziehen Sie vom Remote-Ursprung.
quelle