SSH-Tunnel auf dem Mac einrichten
Von Lucas Russo, Entwickler von SSHive · Aktualisiert am
Lokale, entfernte und SOCKS5-SSH-Tunnel auf macOS, auf der Kommandozeile und im Profileditor von SSHive, wo sie bei jeder Verbindung wiederkommen.
Ein SSH-Tunnel führt einen Netzwerkport durch eine verschlüsselte SSH-Verbindung, und es gibt drei Arten. Lokal (-L) holt einen Port des entfernten Netzes auf Ihren Mac: eine Datenbank, eine Admin-Seite, alles, was nur der Server erreicht. Remote (-R) macht das Gegenteil und öffnet auf dem Server einen Port, der zu Ihrem Mac zurückführt. Dynamisch (-D) macht aus der Verbindung einen SOCKS5-Proxy für Ihren Browser, dafür gibt es eine eigene SOCKS5-Anleitung. Mit OpenSSH, das macOS mitbringt, ist jeder eine Zeile: ssh -L 5433:db.internal:5432 user@bastion oder ssh -R 8080:localhost:3000 user@server. Die Schritte unten bauen dieselben Tunnel in SSHive, an ein Profil gebunden. Die kostenlose Version enthält 1 lokalen Tunnel; entfernte Tunnel und SOCKS5 brauchen Pro, das auf dem Mac bis zu 10 lokale, 5 entfernte Tunnel und 1 SOCKS-Port pro Profil erlaubt.
Schritt für Schritt
Ein Profil öffnen und „Erweiterte Optionen“ aufklappen
Seitenleiste › + (Neue Verbindung) oder Rechtsklick auf ein vorhandenes Profil › Bearbeiten. Host, Port, Benutzername und Authentifizierung wie gewohnt ausfüllen, dann unten im Dialog auf Erweiterte Optionen klicken. Unter den Blöcken, die aufklappen, stehen die drei Tunnelarten: Lokale Tunnel (-L), Entfernte Tunnel (-R) und SOCKS5-Proxy (-D).Einen lokalen Tunnel (-L) hinzufügen, der häufigste Fall
Unter Lokale Tunnel (-L) auf + Hinzufügen klicken. Drei Felder erscheinen in einer Zeile: lokaler Port (etwa5433; ab 1024 brauchen Sie kein sudo), entfernter Host (db.internal, so, wie der SSH-Server ihn sieht;localhost, wenn der Dienst auf dem Server selbst läuft) und entfernter Port (5432). Speichern. Der Tunnel steht bei jeder Verbindung mit diesem Profil, nur an 127.0.0.1 gebunden: Ein Feld für die Bind-Adresse gibt es nicht, niemand sonst in Ihrem Netz kann ihn also benutzen. Die kostenlose Version erlaubt 1 lokalen Tunnel, Pro 10 pro Profil.Einen entfernten Tunnel (-R) hinzufügen, Pro
Unter Entfernte Tunnel (-R) auf + Hinzufügen klicken. Felder: entfernter Port (der, der sich auf dem SSH-Server öffnet,8080), lokaler Host (localhost) und lokaler Port (3000). Auf dem Server erreichtcurl localhost:8080jetzt Port 3000 Ihres Macs. In der kostenlosen Version ist der Block ausgegraut; ein Klick auf sein PRO-Badge öffnet das Upgrade-Fenster. Pro erlaubt 5 entfernte Tunnel pro Profil.Die ⇄-Anzeige in der Statusleiste lesen
Sobald die Verbindung steht, zeigt die Statusleiste⇄ N, wobei N die Zahl der aktiven Tunnel ist (lokale, entfernte und SOCKS zusammen). Ein Klick darauf öffnet das Fenster Tunnel-Status: Jeder Tunnel steht dort mit Typ, lokalem Port, Ziel und aktuellem Zustand, dazu eine Schaltfläche zum Schließen. Lässt sich ein Tunnel nicht binden (Port bereits belegt), bleibt die SSH-Sitzung verbunden und der Fehler wird protokolliert; N zählt ihn dann einfach nicht mit.Automatische Neuverbindung: Die Tunnel kommen mit der Sitzung zurück
Bricht die SSH-Sitzung ab (WLAN-Wechsel, Ruhezustand, Serverneustart), schließen sich alle Tunnel mit ihr, denn sie leben in der Verbindung. Die automatische Neuverbindung von SSHive holt dann die Sitzung zurück und baut jeden Tunnel des Profils der Reihe nach wieder auf, ohne dass Sie etwas tun müssen. Scheitert ein Tunnel bei jeder Neuverbindung, prüfen Sie den sshd auf der Gegenseite:AllowTcpForwarding yesfür lokale und entfernte Tunnel, dazuGatewayPorts yes, wenn ein entfernter Tunnel von außerhalb des Servers erreichbar sein soll.
Häufige Fragen
Endet der Tunnel, wenn meine SSH-Sitzung endet?+
ServerAliveInterval 60 in OpenSSH oder verlassen sich auf das eingebaute Keepalive von SSHive (standardmäßig alle 30 s).Kann ich durch eine Kette von Jump-Hosts tunneln?+
ssh -J bastion1,bastion2 -L 5432:db:5432 user@target über beide Bastion-Hosts. In SSHive fügen Sie beide Bastion-Hosts in der richtigen Reihenfolge zur Jump-Kette des Zielprofils hinzu, wie es die Anleitung zum Jump-Host zeigt; die Tunnel dieses Profils laufen dann durch die ganze Kette. Jump-Ketten sind Pro.Passende SSHive-Funktionen
SSH-Tunnel
Lokal, entfernt & SOCKS5-Proxy
SSH-Terminal
GPU-beschleunigtes Terminal
SSHive kostenlos für macOS testen
Holen Sie sich den All-in-one-Client für SSH, SFTP, RDP und VNC auf dem Mac. Kostenloser Download, ohne Registrierung.
SSHive kostenlos laden