### 🔧 1. SSH-Schlüssel erzeugen Öffne ein Terminal und gib ein: ```bash 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: ```bash ssh-copy-id user@server.de ``` Falls `ssh-copy-id` nicht installiert ist, kannst du den Schlüssel auch manuell übertragen: ```bash 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: ```bash 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: ```bash 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: ```bash 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: ```bash git remote set-url origin git@github.com:USERNAME/REPO.git ``` Danach nochmal testen: ```bash git push ``` --- ## 🧪 3️⃣ SSH-Verbindung separat testen ```bash 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? ```bash ssh-add -l ``` Wenn dort steht: ``` The agent has no identities. ``` Dann: ```bash ssh-add ~/.ssh/id_ed25519 ``` --- ## 🛠 5️⃣ Debug-Modus (wenn es immer noch nicht klappt) ```bash 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.