5.5 KiB
SSH-Zugriff auf Git-Repository in WSL einrichten
Diese Anleitung beschreibt, wie man innerhalb von WSL (z. B. Ubuntu) ein Git-Repository per SSH nutzen kann, z. B. bei einem selbst gehosteten Gitea-Server auf dns.lan
mit Port 2222
.
- SSH-Zugriff auf Git-Repository in WSL einrichten
- 🔧 Voraussetzungen
- 🧱 Schritt 1: SSH-Verzeichnis in WSL anlegen
- 🗝️ Schritt 2: SSH-Schlüssel aus Windows in WSL übernehmen
- ⚙️ Schritt 3: SSH-Konfiguration (optional, empfohlen)
- 🧪 Schritt 4: Verbindung testen
- 🐙 Schritt 5: Git-Remote setzen oder klonen
- 🛡️ Hinweis: Keine Shell-Zugänge über Git-SSH
- ✅ Fertig
- 🔁 Optional: Globale Git-Konfiguration absichern
- 🔑 SSH-Key unter WSL erzeugen
🔧 Voraussetzungen
- WSL ist eingerichtet (z. B. Ubuntu)
- Ein Git-Server ist erreichbar (z. B.
git@dns.lan:2222
) - Du hast bereits Zugriff über Windows (z. B. via PowerShell)
- OpenSSH ist in der WSL-Distribution installiert
- Wenn Du noch keinen Key hast oder einen neuen einrichten möchtest, gibt es unten unter 🔑 SSH-Key unter WSL erzeugen nochmal eine Auffrischung.
🧱 Schritt 1: SSH-Verzeichnis in WSL anlegen
mkdir -p ~/.ssh
chmod 700 ~/.ssh
🗝️ Schritt 2: SSH-Schlüssel aus Windows in WSL übernehmen
Falls du in Windows bereits einen Schlüssel hast, z. B. C:\Users\NAME\.ssh\id_ed25519
, kopiere ihn:
cp /mnt/c/Users/NAME/.ssh/id_ed25519 ~/.ssh/
cp /mnt/c/Users/NAME/.ssh/id_ed25519.pub ~/.ssh/
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub
🔁 Ersetze NAME
mit deinem Windows-Benutzernamen.
⚙️ Schritt 3: SSH-Konfiguration (optional, empfohlen)
Erstelle (oder bearbeite) die Datei ~/.ssh/config
:
nano ~/.ssh/config
Füge ein:
Host gitea
HostName dns.lan
Port 2222
User git
IdentityFile ~/.ssh/id_ed25519
→ Damit kannst du den Hostname gitea
als Alias verwenden.
🧪 Schritt 4: Verbindung testen
ssh -T gitea
Erwartete Ausgabe:
Hi there, realAscot! You've successfully authenticated...
🐙 Schritt 5: Git-Remote setzen oder klonen
✅ Bestehendes Repo umstellen
git remote set-url origin gitea:realAscot/mein-projekt.git
✅ Neues Repo klonen
git clone gitea:realAscot/mein-projekt.git
🛡️ Hinweis: Keine Shell-Zugänge über Git-SSH
Wenn du folgende Meldung siehst:
You've successfully authenticated, but Gitea does not provide shell access.
→ Das ist normal und kein Fehler – Push/Pull funktioniert trotzdem.
✅ Fertig
Du kannst jetzt in WSL wie gewohnt per SSH arbeiten:
git pull
git push
🔁 Optional: Globale Git-Konfiguration absichern
git config --global core.autocrlf input
git config --global core.eol lf
Damit vermeidest du Konflikte durch Windows-Zeilenenden. Hat mit dem SSH Key jetzt nichts zu tun, aber ein kleiner Tipp nebenbei um bekannte Fehler zu vermeiden.
🔑 SSH-Key unter WSL erzeugen
Hier ist eine kompakte Anleitung in Markdown, wie du unter WSL (z. B. Ubuntu) einen SSH-Key erzeugst und die nötigen Tools installierst, um z. B. Gitea-Zugriff zu ermöglichen.
🛠️ Voraussetzungen installieren
sudo apt update
sudo apt install -y openssh-client
🔐 SSH-Key erzeugen
ssh-keygen -t ed25519 -C "dein.name@example.com" -f ~/.ssh/id_ed25519_gitea
Der Parameter -f
gibt den Pfad und Namen des neuen Keys an.
Wenn man diesen weglässt, überschreibst Du Dir eventuell einen schon vorhandenen Key den Du vielleicht für etwas anderes nutzt!
Du wirst dann aber je nach Version nach einem Pfad gefragt.
Besser direkt angeben.
-
Erklärung:
-t ed25519
: moderner, sicherer Algorithmus-C
: Kommentar (z. B. Mailadresse oder Systembeschreibung)
⌨️ Bei der Abfrage:
- Dateipfad: einfach Enter drücken für Standard (
~/.ssh/id_ed25519_gitea
) - Passphrase: optional, aber empfohlen (für zusätzliche Sicherheit)
🔍 Public Key anzeigen
cat ~/.ssh/id_ed25519_gitea.pub
→ Diesen Schlüssel dann in Gitea unter „SSH-Schlüssel“ einfügen.
✅ Optional: SSH-Agent starten & Schlüssel hinzufügen
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519_gitea