Files
it-know-how/Linux/SSH-Schlüssel erzeugen.md

2.7 KiB
Raw Permalink Blame History

🔧 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.