GitHub Personal Access Token (PAT) — sichere Authentifizierung auf GitHub.
Ein GitHub Personal Access Token (PAT), also ein „persönlicher Zugriffstoken“, ist eine moderne Methode zur sicheren Authentifizierung auf der GitHub-Plattform.
Seit August 2021 unterstützt GitHub keine Passwortnutzung mehr für Git-Operationen über HTTPS. Das bedeutet, dass jede Aktion, die zuvor ein Passwort erforderte, jetzt ein Token benötigt. PAT ermöglicht:
- sicheren Zugriff auf Repositories;
- Arbeit mit der GitHub API;
- Automatisierung von Prozessen in Skripten, CI/CD und anderen Tools, ohne das Konto zu gefährden.
Kurz gesagt: Ein PAT ist ein „Schlüssel“, der begrenzten Zugriff gewährt, leicht widerrufen werden kann und ein Ablaufdatum haben kann.
Warum ein PAT verwenden
Der Hauptzweck eines PAT ist es, die Arbeit auf GitHub zu sichern und gleichzeitig komfortabel zu bleiben.
Hauptfunktionen:
- Sicherheit
Ein Passwort gewährt vollen Zugriff auf das Konto. Bei einem Leak sind alle Daten gefährdet. Ein Token kann nach Berechtigungen und Dauer eingeschränkt werden. - Automatisierung
Skripte, CI/CD, Bots und andere Tools können ein PAT anstelle der manuellen Eingabe von Benutzername und Passwort verwenden. - Zugangskontrolle
Es können mehrere Tokens mit unterschiedlichen Berechtigungen für verschiedene Aufgaben erstellt werden. Wenn ein Token kompromittiert wird, kann es widerrufen werden, ohne andere zu beeinflussen.
Token-Typen
GitHub bietet zwei Token-Typen:
- Classic (klassisch)
- Zugriff wird über Scopes definiert (z. B.
repo,workflow). - Gewährt Rechte für alle Repositories des Benutzers.
- Einfach zu verwenden, aber weniger flexibel.
- Zugriff wird über Scopes definiert (z. B.
- Fine-grained (fein abgestuft)
- Ermöglicht die Beschränkung des Zugriffs auf bestimmte Repositories.
- Präzise Berechtigungen können zugewiesen werden, z. B. „nur Lesezugriff auf Issues“.
- Organisationen können eine Genehmigung für solche Tokens verlangen.
💡 Tipp: Verwenden Sie fine-grained Tokens, wenn Sicherheit und Zugriffsbeschränkung wichtig sind; Classic für Kompatibilität mit älteren Tools.
Erstellung eines PAT
Schritt 1: Zu den Einstellungen gehen
- GitHub öffnen → Settings → Developer settings → Personal access tokens → Tokens (classic).
Schritt 2: Neues Token erstellen
- Auf Generate new token (classic) klicken.
- Einen Namen vergeben (Note), z. B.
CI-tokenoderGit-PC. - Ablaufdatum festlegen — empfohlen 90 Tage oder 1 Jahr.
- Benötigte Berechtigungen auswählen (Scopes) — Mindestrechte für Git:
repo, für Actions:workflow. - Token generieren und sofort speichern — es wird nur einmal angezeigt.
Verwendung eines PAT
1. Git über HTTPS
git clone https://github.com/username/repo.git
# Benutzername: Ihr GitHub-Benutzername
# Passwort: generiertes Token
Um das Token nicht jedes Mal einzugeben, kann es zwischengespeichert werden:
git config --global credential.helper manager # Windows/Mac
git config --global credential.helper 'cache --timeout=3600' # Linux
2. Arbeit mit der GitHub API
$token = Get-Secret -Name GitHubToken # sicheres Abrufen des Tokens
$headers = @{ Authorization = "token $token" }
$repos = Invoke-RestMethod -Uri "https://api.github.com/user/repos" -Headers $headers
$repos | ForEach-Object { $_.name }
Erstellen eines Issues:
$body = @{
title = "Neues Test-Task"
body = "Beschreibung der Aufgabe"
} | ConvertTo-Json
Invoke-RestMethod -Uri "https://api.github.com/repos/username/repo/issues" `
-Method Post `
-Headers $headers `
-Body $body
3. CI/CD und Skripte
$token = Get-Secret -Name GitHubToken
git config --global user.name "CI Bot"
git config --global user.email "ci@example.com"
git add .
git commit -m "Automatisches Update"
git push "https://$token@github.com/username/repo.git" main
💡 Tipp: Verwenden Sie ein separates Token mit minimalen Berechtigungen für CI/CD.
4. IDE und lokale Entwicklung
- In Visual Studio Code und anderen IDEs kann das PAT anstelle des Passworts verwendet werden, um mit privaten Repositories und Pull Requests zu arbeiten.
- Für verschiedene Maschinen oder IDEs separate Tokens erstellen, um die Auswirkungen eines möglichen Lecks zu begrenzen.
5. Verwaltung und Sicherheit
- Tokens in Passwortmanagern oder SecretStore speichern.
- Separate Tokens für unterschiedliche Aufgaben erstellen.
- Unbenutzte Tokens regelmäßig überprüfen und löschen.
- Immer ein Ablaufdatum festlegen (nicht „No expiration“ verwenden).
- Rotation der Tokens für CI/CD und automatisierte Skripte planen.
6. Alternative: GitHub CLI
gh auth login
Die CLI öffnet den Browser, führt die Authentifizierung durch, erstellt und speichert das Token lokal. Dies verhindert manuelle PAT-Erstellung und vereinfacht das Schlüsselmanagement.