Wie man Probleme bei der Git-Clone-Authentifizierung mit einem Personal Access Token (PAT) löst
Bei dem Versuch, ein Repository von einem GitHub Enterprise-Server zu klonen, stieß ich auf ein SSL-Problem. Als ich versuchte, das Repository über HTTPS zu klonen, forderte Git mich zur Eingabe von Anmeldeinformationen auf, aber ich verwendete keine typische Benutzername-Passwort-Kombination, da ich mich mit Microsoft 365-Anmeldeinformationen anmelde. Hier ist die vollständige Aufschlüsselung des Problems und wie ich es mit einem Personal Access Token (PAT) gelöst habe.
Das Problem: SSL- und Authentifizierungsaufforderungen
Als ich zum ersten Mal versuchte, das Repository über HTTPS zu klonen, stieß ich auf zwei Hauptprobleme:
- SSL-Zertifikatsfehler: Der GitHub Enterprise-Server verwendete ein selbstsigniertes SSL-Zertifikat, was dazu führte, dass Git den Vorgang aufgrund eines SSL-Zertifikatsüberprüfungsfehlers nicht abschließen konnte.
- Authentifizierungsaufforderung: Selbst nachdem das SSL-Problem umgangen war, forderte Git mich zur Eingabe von Benutzername und Passwort auf. Da ich Single Sign-On (SSO) mit Microsoft 365 verwende, hatte ich keinen traditionellen Benutzernamen und kein Passwort für das Repository.
Zu diesem Zeitpunkt konnte ich den Klonvorgang aufgrund des selbstsignierten SSL-Zertifikats und des Fehlens standardmäßiger Anmeldeinformationen nicht abschließen.
Schritt 1: Umgehung des SSL-Zertifikatsproblems
Um das SSL-Zertifikatsproblem vorübergehend zu umgehen, führte ich den folgenden Git-Befehl aus, der die SSL-Überprüfung deaktiviert:
git -c http.sslVerify=false clone https://yourcompany.domain/your-team/your-repo.git .
Dieser Befehl weist Git an, die SSL-Zertifikatsprüfung zu ignorieren und mit dem Klonvorgang fortzufahren. Dies löste jedoch nicht das Authentifizierungsproblem, da Git mich immer noch nach Benutzername und Passwort fragte.
Schritt 2: Lösung des Authentifizierungsproblems mit einem Personal Access Token (PAT)
Da ich mich über Microsoft 365-Anmeldeinformationen (über SSO) bei meinem GitHub Enterprise-Konto anmeldete, hatte ich keine typische Benutzername/Passwort-Kombination, die ich bei Aufforderung angeben konnte. Die Lösung bestand darin, ein Personal Access Token (PAT) zu verwenden, das GitHub in solchen Fällen für eine sichere Authentifizierung bereitstellt.
Was ist ein Personal Access Token (PAT)?
Ein Personal Access Token (PAT) ist eine sicherere Methode zur Authentifizierung bei der Verwendung von Git über HTTPS. Es funktioniert wie ein Passwort, ist aber flexibler und sicherer. Sie können ein PAT generieren und es anstelle eines Passworts verwenden, wenn Git nach Anmeldeinformationen fragt. Sie können seine Berechtigungen (bekannt als Scopes) steuern, was es zu einer sichereren Option macht.
So generieren Sie ein PAT
- Melden Sie sich bei Ihrem GitHub Enterprise-Konto an.
- Gehen Sie zu Einstellungen > Entwicklereinstellungen > Personal access tokens.
- Klicken Sie auf Neues Token generieren und wählen Sie die entsprechenden Berechtigungen (Scopes). Für den Repository-Zugriff benötigen Sie in der Regel den
repo
Scope. - Kopieren Sie das generierte Token (PAT) und speichern Sie es an einem sicheren Ort (Sie können es danach nicht mehr anzeigen).
Verwendung des PAT zum Klonen des Repositorys
Sobald ich das Personal Access Token hatte, ging ich zurück zu meinem Terminal. Als Git nach einem Benutzernamen fragte, gab ich meine E-Mail-Adresse ein (die mit dem Office 365-Login verknüpft ist). Als es nach einem Passwort fragte, fügte ich das PAT anstelle eines Passworts ein:
Username for 'https://yourcompany.domain': [email protected]
Password for 'https://[email protected]@yourcompany.domain': <paste-your-PAT-here>
Danach funktionierte der Klonvorgang einwandfrei und ich hatte Zugriff auf das Repository.