GitHub lehnt dein Passwort beim Push ab? Die Passwort-Anmeldung über HTTPS ist abgeschafft — nötig ist ein Token oder SSH-Schlüssel.
Aufwand:
ca. 20 Min.
Das Symptom
Ein git push oder git pull über eine HTTPS-Adresse scheitert mit einer Meldung
wie Support for password authentication was removed oder Password authentication is not supported. Das eingegebene Kontopasswort ist korrekt, wird aber abgelehnt,
und der Zugriff auf das entfernte Projekt ist blockiert.
Die „Layer 8“-Wahrheit
Was hier aussieht wie ein Anmeldefehler, ist eine bewusste Sicherheitsentscheidung
der Plattformen. Ein Kontopasswort über HTTPS bei jedem Git-Zugriff mitzuschicken,
ist riskant: Es öffnet, einmal abgegriffen, das ganze Konto. Deshalb haben GitHub
und andere die schlichte Passwort-Anmeldung für Git abgeschafft und durch etwas
Besseres ersetzt — ein persönliches Zugriffstoken, das man gezielt mit begrenzten
Rechten ausstellt und jederzeit einzeln widerrufen kann, ohne das Kontopasswort
anzutasten. Das Token tritt einfach an die Stelle, an der Git früher nach dem
Passwort fragte.
Der eigentliche Stolperstein ist meist ein alter, gespeicherter Anmeldeeintrag: Das
System reicht hartnäckig das nicht mehr akzeptierte Passwort nach, und man kommt gar
nicht erst zur Token-Eingabe. Diesen Eintrag zu löschen und das Token im
Anmeldespeicher zu hinterlegen, löst die meisten Fälle. Wer es dauerhaft bequem
will, stellt gleich auf einen SSH-Schlüssel um — dann ist das Thema Passwort ein für
alle Mal erledigt.
Die echte, verifizierte Lösung
1000 % faktenbasiert. Jeder Befehl ist real, jeder Pfad existiert. Schritt für Schritt:
1.
Die Umstellung verstehen
GitHub und andere Plattformen akzeptieren beim Zugriff über HTTPS kein Kontopasswort mehr. Die Meldung, Passwort-Authentifizierung werde nicht unterstützt, ist also kein falsches Passwort, sondern eine bewusste Sicherheitsänderung. Statt des Passworts braucht es ein persönliches Zugriffstoken.
2.
Ein persönliches Zugriffstoken erstellen
In den Kontoeinstellungen der Plattform ein persönliches Zugriffstoken (Personal Access Token) mit den nötigen Rechten erzeugen. Dieses Token wird bei der Passwortabfrage von Git anstelle des Passworts eingegeben. Es lässt sich jederzeit widerrufen, ohne das Kontopasswort zu ändern.
3.
Das Token sicher speichern
Damit man das Token nicht bei jedem Zugriff neu eingeben muss, einen Anmeldespeicher (Credential Helper) einrichten — und zwar einen, der den sicheren Speicher des Betriebssystems nutzt: unter Windows den Git Credential Manager, unter macOS den Schlüsselbund, unter Linux libsecret. Der eingebaute Helfer store ist ausdrücklich nicht dafür geeignet: Er legt das Token unverschlüsselt auf der Platte ab, geschützt nur durch die Dateirechte. Achtung unter Linux: Der libsecret-Helfer steckt nicht in jedem git-Paket. Fedora liefert ihn als eigenes Paket git-credential-libsecret, Ubuntu legt nur seinen Quelltext unter /usr/share/doc/git/contrib/credential/libsecret ab, den man dort erst selbst kompilieren muss. Fehlt der Helfer, scheitert der nächste Zugriff mit der Meldung, credential-libsecret sei kein Git-Befehl.
# macOS
git config --global credential.helper osxkeychain
# Linux (Fedora: den Helfer vorher als eigenes Paket installieren)
sudo dnf install git-credential-libsecret
git config --global credential.helper libsecret
# Windows (in Git für Windows enthalten)
git config --global credential.helper manager
4.
Alternativ auf SSH umstellen
Der komfortablere Dauerweg ist ein SSH-Schlüssel. Einmal einen Schlüssel erzeugen, den öffentlichen Teil beim Konto hinterlegen und die Adresse des Projekts von HTTPS auf SSH umstellen — dann entfällt die Token-Eingabe ganz.
5.
Ein altes, gespeichertes Passwort entfernen
Scheitert es weiter, steckt oft noch ein altes, ungültiges Passwort im Anmeldespeicher des Systems. Diesen Eintrag für die Plattform im Anmeldeinformations-Verwalter löschen, damit Git beim nächsten Mal frisch nach dem Token fragt.
Häufige Fragen (FAQ)
?Warum funktioniert mein GitHub-Passwort beim Push nicht mehr?
Weil GitHub die Passwort-Authentifizierung für Git-Operationen abgeschafft hat. Ein Passwort schützt das ganze Konto; ein Token lässt sich auf einzelne Rechte begrenzen und jederzeit widerrufen, ohne dass Sie Ihr Passwort ändern müssen. Die Meldung ist keine Fehlfunktion, sondern eine bewusste Umstellung.
?Git fragt mich immer wieder nach dem Token. Wie speichere ich es?
Über einen Credential Helper. Unter Windows übernimmt das der Git Credential Manager automatisch, unter macOS die Schlüsselbundverwaltung, unter Linux etwa libsecret – dessen Helfer muss dort je nach Distribution aber erst installiert oder gebaut werden. Ohne Helper landet das Token entweder gar nicht oder im Klartext in einer Datei – Letzteres ist genau das, was man vermeiden wollte.
Belege
Diese Seite ist gegen die folgenden Primärquellen geprüft – Hersteller, Standard oder Gesetzestext. Wer es nicht glaubt, muss es nicht: Da steht, wo es nachzulesen ist.
Der Login wird abgewiesen, obwohl das Passwort stimmt? Bei MySQL zählt auch, von welchem Host aus man kommt — der Benutzer ist an eine Herkunft gebunden.