SSH Tunnel Environments
ReadyStackGo kann Docker-Hosts auf entfernten Servern über SSH-Tunnel als Deployment-Ziele nutzen. Kein exponierter Docker-Port nötig, kein Agent auf dem Remote-Host – nur SSH-Zugang.
Übersicht
Abschnitt betitelt „Übersicht“| Environment-Typ | Verbindung | Anwendungsfall |
|---|---|---|
| Docker Socket | Lokaler Unix-Socket | ReadyStackGo läuft auf demselben Host wie Docker |
| SSH Tunnel | SSH → Remote Docker Socket | Docker auf einem entfernten Server, erreichbar per SSH |
Schritt für Schritt: SSH Tunnel Environment erstellen
Abschnitt betitelt „Schritt für Schritt: SSH Tunnel Environment erstellen“Schritt 1: Environments öffnen
Abschnitt betitelt „Schritt 1: Environments öffnen“Navigieren Sie zu Environments im Hauptmenü. Hier sehen Sie alle konfigurierten Docker-Environments.

Schritt 2: Typ auswählen
Abschnitt betitelt „Schritt 2: Typ auswählen“Klicken Sie auf Add Environment. Auf der Erstellungsseite sehen Sie den Connection Type Selector mit zwei Optionen:
- Local Docker Socket – Direkter Zugriff auf den lokalen Docker-Socket
- SSH Tunnel – Verbindung zu einem entfernten Docker-Host über SSH

Klicken Sie auf SSH Tunnel, um das SSH-Formular zu öffnen.
Schritt 3: SSH-Verbindungsdaten eingeben
Abschnitt betitelt „Schritt 3: SSH-Verbindungsdaten eingeben“Das Formular zeigt die SSH-spezifischen Felder:

| Feld | Pflicht | Beschreibung |
|---|---|---|
| Environment Name | Ja | Beschreibender Name (z.B. “Production Server”) |
| SSH Host | Ja | IP-Adresse oder Hostname des Remote-Servers |
| SSH Port | Nein | Standard: 22 |
| SSH Username | Ja | Benutzername für die SSH-Verbindung (z.B. “root”, “deploy”) |
| Authentication Method | Ja | Private Key (empfohlen) oder Password |
| Private Key / Password | Ja | SSH-Schlüssel im PEM-Format oder Passwort |
| Remote Docker Socket Path | Nein | Standard: /var/run/docker.sock |
Schritt 4: Authentifizierung konfigurieren
Abschnitt betitelt „Schritt 4: Authentifizierung konfigurieren“Wählen Sie die gewünschte Authentifizierungsmethode:
Private Key (empfohlen): Fügen Sie den vollständigen privaten SSH-Schlüssel im PEM-Format ein.
Password: Geben Sie das SSH-Passwort ein.

Schritt 5: Verbindung testen
Abschnitt betitelt „Schritt 5: Verbindung testen“Füllen Sie alle Felder aus und klicken Sie auf Test Connection, um die SSH-Verbindung und den Docker-Zugriff zu prüfen.

Der Test:
- Baut eine SSH-Verbindung auf
- Erstellt einen TCP-Tunnel zum Docker-Socket
- Ruft Docker System Info ab
- Zeigt Docker-Version und Erfolg/Fehler an

Schritt 6: Environment erstellen
Abschnitt betitelt „Schritt 6: Environment erstellen“Klicken Sie auf Create Environment. Das SSH Tunnel Environment ist sofort einsatzbereit für Deployments, Health Monitoring und Container-Management.
Technische Details
Abschnitt betitelt „Technische Details“Wie funktioniert der SSH-Tunnel?
Abschnitt betitelt „Wie funktioniert der SSH-Tunnel?“RSGO Controller Remote Host┌─────────────────┐ SSH Tunnel ┌─────────────────┐│ SshTunnelManager │────Port 22────────→│ sshd ││ (SSH.NET) │ │ ││ │ │ socat bridge ││ DockerService │ TCP-Tunnel │ TCP → Unix ││ (Docker.DotNet) │──localhost:random──→│ docker.sock │└─────────────────┘ └─────────────────┘- SSH-Verbindung: SSH.NET baut eine SSH-Verbindung zum Remote-Host auf
- Socat Bridge: Auf dem Remote-Host startet
socateine Brücke von TCP zu Unix-Socket - Port Forwarding: SSH Local Port Forwarding leitet
localhost:random-portzum socat-Port weiter - Docker Client: Docker.DotNet verbindet sich via
tcp://localhost:random-port
Voraussetzungen auf dem Remote-Host
Abschnitt betitelt „Voraussetzungen auf dem Remote-Host“- SSH-Zugang (Port 22 oder custom)
- Docker installiert und laufend
- socat installiert (
apt install socat/yum install socat) - SSH-Benutzer muss Zugriff auf den Docker-Socket haben (Gruppe
docker)
Verschlüsselung
Abschnitt betitelt „Verschlüsselung“SSH-Credentials (Private Keys und Passwords) werden mit AES-256-CBC verschlüsselt gespeichert:
| Konfiguration | Beschreibung |
|---|---|
RSGO_ENCRYPTION_KEY | Environment Variable für den Master Key |
/data/.encryption-key | Auto-generierter Key (Fallback) |
Fehlerbehandlung
Abschnitt betitelt „Fehlerbehandlung“| Fehler | Ursache | Lösung |
|---|---|---|
| Connection refused | SSH-Server nicht erreichbar | Host/Port prüfen, Firewall checken |
| Authentication failed | Falsche Credentials | Username/Key/Password prüfen |
| socat not available | socat nicht installiert | apt install socat auf dem Remote-Host |
| Permission denied on socket | Kein Docker-Socket-Zugriff | User zur Gruppe docker hinzufügen |
| Connection timeout | Netzwerk-Problem | SSH-Erreichbarkeit prüfen (ssh user@host) |