Artikel ·
Folge 017: Private Repos klonen: SSH-Schlüssel und GitHub
Permission denied beim Clone? Schlüsselpaar erzeugen, config anlegen, Public Key bei GitHub hinterlegen, dann klappt git clone.
Öffentliche How-To-Repos siehst du ohne Login. Private Projekte wie dein echtes hautuu-Repo verweigern git clone mit Permission denied, bis GitHub deinen Rechner kennt. Grundlagen zu Clone und Push/Pull: Folge 001 und Folge 006. Dafür nutzt du einen SSH-Key statt Passwort in der URL.
Ordner .ssh
Im Home-Verzeichnis liegt (oft versteckt) .ssh. Im Dateimanager: versteckte Dateien anzeigen (z. B. Strg+H). Im Terminal:
cd ~/.ssh
pwd
Tilde ~ steht für dein Home (/home/deinuser unter Linux, ähnlich auf dem Mac).
Schlüsselpaar erzeugen
ssh-keygen -t ed25519 -C "deine@email.de"
Dateiname z. B. nach GitHub-Benutzer, damit mehrere Keys unterscheidbar sind. Passphrase optional (leer = weniger Tipparbeit, aber der private Key ist dann wie ein offenes Passwort auf der Platte).
Ergebnis: privater Key (niemals teilen, nicht committen) und öffentlicher Key (.pub). Der Public Key verschlüsselt nur für dich; entschlüsseln kann nur der Private Key.
config für github.com
In ~/.ssh/config (Datei mit touch config anlegen):
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/DEIN_KEYNAME
IdentityFile ohne .pub, nur der private Key-Pfad.
Key bei GitHub
Settings auf GitHub → SSH and GPG keys → New SSH key. Titel (z. B. „Lab-Test“), Inhalt = komplette .pub-Datei (beginnt oft mit ssh-ed25519 oder ssh-rsa). Private Keys beginnen mit BEGIN OPENSSH PRIVATE KEY, die gehören nicht nach GitHub.
Test:
ssh -T git@github.com
Erfolgsmeldung mit deinem Benutzernamen, dann:
git clone git@github.com:ORG/REPO.git
Wichtig: Private Keys nie in Videos, Screenshots oder öffentliche Repos. Test-Keys nach Demos löschen oder rotieren.
ssh-agent
Manchmal meldet Cursor, dass der Key noch nicht geladen ist. Dann Key zum ssh-agent hinzufügen (je nach System ssh-add ~/.ssh/DEIN_KEYNAME). Danach sollte Clone und Cursor-Zugriff konsistent sein.