meldestelle/docs/01_Architecture/Minisforum-MS-R1/Gitea-SSH-Setup.md
Stefan Mogeritsch 09b0b1a462 infra: clean up Keycloak configuration, enforce consistency in .env, and improve health checks
Streamlined Keycloak configurations with defaults for development and production in `.env`. Added health checks and improved environment variable documentation with comments to differentiate local and server deployments. Ensured compatibility with pre-built registry images.
2026-03-06 11:23:24 +01:00

87 lines
2.6 KiB
Markdown

---
type: Guide
status: ACTIVE
owner: DevOps Engineer
---
# 💻 Client-Setup: Arbeitsplatz an "Das Biest" anbinden
Diese Anleitung beschreibt die Einrichtung eines lokalen Rechners, um via SSH und Cloudflare-Tunnel auf die
Gitea-Instanz (`git.mo-code.at`) zuzugreifen.
## 1. SSH-Schlüssel generieren
Falls noch kein Schlüssel vorhanden ist, erstelle einen modernen Ed25519-Key:
```bash
ssh-keygen -t ed25519 -C "stefan.mo.co@gmail.com"
```
Bestätige die Pfade mit Enter. Den Inhalt des öffentlichen Schlüssels anzeigen:
```bash
cat ~/.ssh/id_ed25519.pub
```
**Aktion:** Kopiere den Inhalt und füge ihn in der Gitea Web-UI (`https://git.mo-code.at`) unter **`Einstellungen` ->
`SSH / GPG Schlüssel` hinzu.
## 2. Cloudflare Tunnel-Client installieren
Der Rechner benötigt `cloudflared`, um den SSH-Traffic durch das Zero Trust Gateway zu "beamen".
**Für Debian/Ubuntu:**
```bash
curl -L --output cloudflared.deb [https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb](https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb)
sudo dpkg -i cloudflared.deb
```
## 3. SSH-Konfiguration anlegen (`~/.ssh/config`)
Damit Git automatisch den richtigen Port (2222) und den Tunnel-Proxy nutzt, muss die lokale SSH-Config angepasst werden.
1. Datei öffnen: nano ~/.ssh/config
2. Folgenden Block einfügen:
```text
Host git.mo-code.at
HostName ssh.mo-code.at
User git
Port 2222
ProxyCommand /usr/bin/cloudflared access ssh --hostname %h
IdentityFile ~/.ssh/id_ed25519
```
> **Hinweis:** Prüfe mit `which cloudflared`, ob der Pfad `/usr/bin/cloudflared` korrekt ist und passe ihn ggf. an.
## 4. Zero Trust Autorisierung (Einmalig)
Bevor die erste Verbindung klappt, muss der Rechner bei Cloudflare angemeldet werden:
```bash
cloudflared access login [https://ssh.mo-code.at](https://ssh.mo-code.at)
```
Es öffnet sich ein Browser. Logge dich mit deiner E-Mail ein und bestätige den Zugriff.
## 5. Verbindungstest
Teste die Verbindung zum Biest:
```bash
ssh -T git@git.mo-code.at
```
> **Soll-Ergebnis:** `Hi there, grandmo! You've successfully authenticated...`
---
### Was wir heute erreicht haben (Zusammenfassung für dein Archiv):
* **Host (Biest):** Läuft stabil auf Debian 12 (ARM64), nutzt `iptables-legacy` für das Netzwerk.
* **Infrastruktur:** Incus-Container `infra-gitea` ist über interne Proxies für Port 3000 (Web) und 2222 (SSH)
erreichbar.
* **Sicherheit:** Cloudflare Tunnel schützt das System; SSH-Zugriff ist nur über eine autorisierte Zero Trust
Application möglich.
* **Gitea:** Konfiguriert auf `git.mo-code.at` mit SSH-Server-Aktivierung im Container.