SSH funktioniert oft über Ihre normale Verbindung, schlägt aber bei aktiviertem VPN fehl. Dieser Beitrag erläutert die Ursachen und praktische Lösungen, einschließlich der Behandlung von Fällen, in denen Server nur bestimmte IPs zulassen und VPNs rotierende Adressen oder unterschiedliche Protokolle verwenden.
Das Symptom
SSH funktioniert, wenn Sie kein VPN verwenden:
ssh [email protected]Wenn Sie eine Verbindung zu einem VPN herstellen, tritt bei demselben Befehl entweder eine Zeitüberschreitung auf, die Verbindung hängt oder wird getrennt:
ssh: Verbindung zum Host myserver.com, Port 22: Verbindungs-TimeoutWarum das passiert
Wenn Sie eine Verbindung zu einem VPN herstellen, ändert sich Ihre Netzwerkkonfiguration: Routen werden angepasst, DNS-Server können sich ändern und das VPN oder sein Betreiber können Firewall-Regeln festlegen. Häufige Ursachen:
- VPN zwingt den gesamten Verkehr durch den Tunnel (Volltunnel-VPN) – SSH wird über das VPN geleitet und kann blockiert oder falsch geleitet werden.
- VPN-Firewall blockiert ausgehendes SSH (Port 22) – einige Betreiber oder Unternehmens-VPNs blockieren SSH absichtlich, um das Risiko zu verringern.
- Änderungen der DNS-Auflösung – Die DNS-Server des VPN lösen Ihren Hostnamen möglicherweise nicht auf dieselbe Weise auf wie Ihr reguläres Netzwerk.
- Routing-Tabellenkonflikte – Der Datenverkehr zum SSH-Server geht an die falsche Schnittstelle oder wird in den Tunnel geleitet, kann aber nicht zum öffentlichen Server gelangen.
- Serverseitiges IP-Whitelisting – der SSH-Server lässt nur bestimmte Client-IPs zu; wenn sich Ihre IP aufgrund des VPN ändert, werden Sie blockiert.
Schnelle Diagnose
- Können Sie den Server anpingen, während Sie im VPN sind?
ping myserver.com - Führen Sie einen Traceroute aus, um zu sehen, wo der Verkehr stoppt:
traceroute myserver.com(odertracertunter Windows). - Versuchen Sie, eine Verbindung über die IP-Adresse statt über den Hostnamen herzustellen:
SSH-Benutzer@. - Versuchen Sie einen anderen Port, wenn Ihr Server dies unterstützt:
ssh -p 2222 [email protected]. - Überprüfen Sie Ihre Routing-Tabelle:
IP-Route(Linux/macOS) oderRoutendruck(Windows).
Sie können auch prüfen, ob ein anderes VPN funktioniert. Zum Beispiel: ProtonVPN bietet einen kostenlosen Plan die Sie testen können.
Allgemeine Fehlerbehebungen
1. Verwenden Sie Split-Tunneling
Wenn Ihr VPN-Client dies unterstützt, konfigurieren Sie Split-Tunneling, sodass der Datenverkehr zum SSH-Server direkt über Ihr normales Gateway und nicht durch den VPN-Tunnel geleitet wird. Für OpenVPN können Sie in der Client-Konfiguration eine Route hinzufügen, um den Tunnel für eine bestimmte IP zu umgehen:
Route 255.255.255.255 net_gatewayDadurch wird das System angewiesen, den SSH-Server über das Standard-Gateway (kein VPN) zu erreichen.
2. Verwenden Sie einen alternativen SSH-Port
Wenn das VPN Port 22 blockiert, konfigurieren Sie Ihren Server so, dass er auf einem anderen Port (z. B. 2222 oder 443) lauscht und eine Verbindung über ssh -p Benutzer@Host. Port 443 (HTTPS) wird oft zugelassen, wenn andere Ports blockiert sind.
3. DNS-Probleme umgehen
Versuchen Sie, eine direkte Verbindung per IP herzustellen, oder richten Sie einen vertrauenswürdigen DNS-Resolver (nur zur Fehlerbehebung) wie 8.8.8.8 ein, um zu sehen, ob DNS der Übeltäter ist.
4. Fügen Sie eine statische Route hinzu
Wenn der Datenverkehr nach der VPN-Verbindung falsch weitergeleitet wird, fügen Sie eine bestimmte Route hinzu, die Ihr SSH-Ziel über Ihr lokales Gateway sendet:
sudo ip route hinzufügen /32 über5. Überprüfen Sie die serverseitigen IP-Regeln
Wenn der Server IP-Whitelisting verwendet, können Firewalls oder Tools wie fail2ban die VPN-IPs blockieren. Überprüfen Sie die Protokolle auf dem Server und setzen Sie die richtigen Adressen auf die Whitelist (siehe Abschnitt zu rotierenden IPs weiter unten).
Sonderfall: Server führt IP-Whitelists auf und Whitelisting scheint nicht zu funktionieren
Wenn ein Server nur bestimmte Client-IPs zulässt, kann die Whitelistung der falschen Adresse (oder einer einzelnen Adresse) dennoch zu einer Blockierung führen, wenn das VPN IPs oder Protokolle ändert oder mehrere Ausgangspunkte bereitstellt. Hier sind wichtige Nuancen und Empfehlungen:
Rotierende VPN-IPs und -Protokolle
Viele kommerzielle VPN-Dienste (und einige Unternehmens-VPNs) bieten mehrere Protokolle und mehrere Ausgangsserver an. Einige Anbieter verwenden UDP-basierte Tunnel (z. B. OpenVPN über UDP) oder neuere Protokolle wie WireGuard, die Ihre öffentliche IP-Adresse häufig ändern können. Wenn Ihr VPN bei jeder Sitzung eine neue öffentliche IP-Adresse zuweist, schlägt die Whitelistung einer einzelnen IP-Adresse fehl.
Whitelist-Bereiche vs. einzelne IPs
Damit SSH in einem solchen VPN funktioniert, setzen Administratoren manchmal eine IP-Adresse auf die Whitelist. Reichweite Eigentum des VPN-Anbieters. Durch das Whitelisting von Bereichen steigt die Wahrscheinlichkeit, dass Ihr aktueller VPN-Ausgangsknoten abgedeckt ist, es erweitert jedoch auch den Zugriff und erhöht das Sicherheitsrisiko.
Praktischer Workflow
- Identifizieren Sie die VPN-Ausgangs-IP(s) während der Verbindung (besuchen Sie beispielsweise über die VPN-Verbindung einen „Was ist meine IP“-Dienst oder überprüfen Sie Ihre öffentliche IP vom Client-Computer aus).
- Setzen Sie die IP oder den kleinsten praktischen CIDR-Bereich auf die Whitelist der Server-Firewall, um Ihre SSH-Verbindung zuzulassen
- Führen Sie die benötigte SSH-Sitzung durch.
- Entfernen Sie anschließend den temporären, erweiterten Whitelist-Eintrag, um die Angriffsfläche zu verringern, und sperren Sie die strikte Richtlinie erneut. Die Automatisierung des Hinzufügens/Entfernens mit einem kurzlebigen Änderungsfenster verringert das Risiko.
Hinweis: Wenn Sie beide Enden kontrollieren, sollten Sie alternative Sicherheitsoptionen in Betracht ziehen, z. B. die Verwendung eines Jump-Hosts mit gegenseitigem TLS, VPN-fähigen Zugriffsproxys oder einer SSH-Authentifizierung auf Basis flüchtiger Zertifikate, die die Abhängigkeit von IP-Whitelists reduziert.
Beispiel: UDP-Protokolle und ihre Bedeutung
Einige Firewalls oder Netzwerkgeräte differenzieren den Datenverkehr auf einer tieferen Ebene nach Protokoll. UDP-basierte VPN-Tunnel können im Vergleich zu TCP anderen NAT-/Firewall-Regeln unterliegen. Dies kann sich auf die verwendete Ausgangsadresse oder das identische Verhalten von Portweiterleitung/NAT auswirken. Wenn Sie inkonsistentes Verhalten zwischen den Protokollen feststellen, testen Sie das VPN sowohl im UDP- als auch im TCP-Modus (sofern der Client dies unterstützt), um die stabilste Option für Ihre Umgebung zu finden.
Anbieterspezifische Hinweise (Benutzererfahrung)
Verschiedene VPN-Anbieter verhalten sich unterschiedlich. Beispielsweise stellen einige Benutzer fest, dass ein Anbieter mit rotierenden Ausgangs-IPs (oder vielen Ausgangsknoten) eine Bereichs-Whitelist benötigt, während andere Anbieter mit stabileren Ausgangs-IPs dies nicht benötigen. Ein Benutzer berichtete, dass ExpressVPNs rotierende/variierte Ausgangsknoten erforderten Whitelisting-Bereiche, während ProtonVPN lieferte konsistente Ergebnisse für dieselben Arbeitsabläufe. Ihre Ergebnisse können abweichen. Überprüfen Sie immer die Ausgangs-IPs und das Providerverhalten, bevor Sie die Firewall-Richtlinien dauerhaft ändern.
Sicherheitsüberlegungen
Durch die Whitelistung breiter IP-Bereiche wird Ihr Server für mehr potenzielle Angreifer geöffnet. Wenn Sie Bereiche vorübergehend auf die Whitelist setzen müssen, befolgen Sie diese Best Practices:
- Whitelist mit einem möglichst kleinen Bereich.
- Begrenzen Sie die Whitelist-Änderung zeitlich und entfernen Sie sie sofort nach Abschluss der Aufgabe.
- Verwenden Sie eine starke Authentifizierung auf dem SSH-Server (nur öffentlicher Schlüssel, keine Kennwortauthentifizierung) und ziehen Sie nach Möglichkeit eine Zwei-Faktor-Authentifizierung für SSH in Betracht.
- Verwenden Sie Protokollierung, Warnmeldungen und die Automatisierung des temporären Zugriffs, damit das Hinzufügen/Entfernen von Whitelists überprüfbar ist.
Zusammenfassung der Checkliste
| Problem | Symptom | Fix |
|---|---|---|
| VPN leitet den gesamten Datenverkehr um | SSH-Zeitüberschreitung | Split-Tunneling aktivieren oder Ausnahmeroute hinzufügen |
| VPN-Firewall | Port 22 blockiert | Verwenden Sie einen alternativen Port (z. B. 443) oder ändern Sie den Server-Listening-Port |
| DNS-Änderungen | Host nicht gefunden oder wird falsch aufgelöst | Stellen Sie zur Fehlerbehebung eine Verbindung per IP her oder ändern Sie vorübergehend den DNS |
| Routing-Konflikt | Datenverkehr an die falsche Schnittstelle gesendet | Statische Route zum Server über lokales Gateway hinzufügen |
| IP-Whitelisting / rotierende VPN-IPs | Das Whitelisting einer einzelnen IP schlägt fehl | Setzen Sie minimale Anbieterbereiche vorübergehend auf die Whitelist und entfernen Sie sie dann; oder verwenden Sie flüchtige Authentifizierungsmethoden |
Beispielbefehle
Nützliche Befehle, auf die in diesem Beitrag verwiesen wird:
- Verbindung über Hostnamen herstellen:
ssh [email protected] - Verbindung über IP herstellen:
SSH-Benutzer@ - Verbindung über alternativen Port herstellen:
ssh -p 2222 [email protected] - Routing prüfen (Linux/macOS):
IP-Route - Fügen Sie eine Route hinzu, um das VPN zu umgehen (Linux):
sudo ip route hinzufügen /32 über - Beispiel für eine OpenVPN-Clientroute:
Route 255.255.255.255 net_gateway
Abschließende Gedanken
Wenn SSH nur bei aktiviertem VPN fehlschlägt, liegt das meist am Routing, DNS oder Firewall-/Whitelist-Verhalten – und in manchen Fällen auch an der Verwendung rotierender IPs oder unterschiedlicher Transportprotokolle durch den VPN-Anbieter. Identifizieren Sie die störende Schicht, wenden Sie die am wenigsten tolerante Lösung an, die funktioniert (Split-Tunneling, minimale Whitelist-Bereiche oder alternative Ports) und entfernen Sie anschließend alle temporären, erweiterten Zugriffe.
Wenn Sie möchten, kann ich diesen Beitrag anpassen, um schrittweise OpenVPN-/WireGuard-/AnyConnect-Beispiele für ein bestimmtes Betriebssystem (Windows, macOS, Linux) oder eine bestimmte VPN-Client-Konfiguration aufzunehmen.
Zuletzt aktualisiert am 17. Oktober 2025

