2.7 KiB
🔧 1. SSH-Schlüssel erzeugen
Öffne ein Terminal und gib ein:
ssh-keygen -t ed25519 -C "dein.name@beispiel.de"
-t ed25519: moderner, sicherer Schlüsseltyp (alternativ:rsa).-C: Kommentar zur Identifikation (z. B. deine E-Mail).
Wenn gefragt:
- Speicherort bestätigen mit Enter (Standard:
~/.ssh/id_ed25519). - Optional ein Passwort setzen (empfohlen für zusätzliche Sicherheit).
📤 2. Öffentlichen Schlüssel auf den Server kopieren
Wenn du z. B. Zugriff auf user@server.de hast:
ssh-copy-id user@server.de
Falls ssh-copy-id nicht installiert ist, kannst du den Schlüssel auch manuell übertragen:
cat ~/.ssh/id_ed25519.pub
Dann den Inhalt in die Datei ~/.ssh/authorized_keys auf dem Server einfügen.
🔐 3. Mit dem Server verbinden
Danach kannst du dich einfach per SSH einloggen:
ssh user@server.de
Du wirst nicht mehr nach dem Passwort des Servers gefragt – nur ggf. nach der Passphrase deines privaten Schlüssels.
🧩 (Optional) 4. SSH-Agent verwenden
Damit du die Passphrase nicht ständig eingeben musst:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Wenn git push weiterhin nach einem Passwort fragt, liegt das fast immer daran, dass dein Repository über HTTPS statt SSH verbunden ist.
Lass uns das prüfen und beheben 👇
🔎 1️⃣ Prüfen, welche Remote-URL verwendet wird
Im Repository:
git remote -v
Wenn du etwas siehst wie:
https://github.com/USERNAME/REPO.git
➡ Dann nutzt du HTTPS – deshalb wird ein Passwort (bzw. Token) verlangt.
Wenn dort steht:
git@github.com:USERNAME/REPO.git
➡ Das ist korrekt (SSH).
🔁 2️⃣ Remote von HTTPS auf SSH umstellen
Ersetze die URL mit der SSH-Version:
git remote set-url origin git@github.com:USERNAME/REPO.git
Danach nochmal testen:
git push
🧪 3️⃣ SSH-Verbindung separat testen
ssh -T git@github.com
Du solltest eine Meldung bekommen wie:
Hi USERNAME! You've successfully authenticated...
Wenn nicht, sag mir bitte die Fehlermeldung.
🔐 4️⃣ Falls SSH korrekt ist, aber trotzdem Passwort kommt
Dann prüfen:
Läuft der SSH-Agent?
ssh-add -l
Wenn dort steht:
The agent has no identities.
Dann:
ssh-add ~/.ssh/id_ed25519
🛠 5️⃣ Debug-Modus (wenn es immer noch nicht klappt)
ssh -vT git@github.com
Das zeigt, welcher Key wirklich benutzt wird.
💡 90% der Fälle:
Das Repository wurde ursprünglich per HTTPS geklont.
Wenn du möchtest, kannst du mir die Ausgabe von
git remote -v posten – dann sage ich dir exakt, was los ist.