merging and cleaning up
This commit is contained in:
@@ -0,0 +1,162 @@
|
||||
### 🔧 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.
|
||||
Reference in New Issue
Block a user