So erstellen Sie SSH -Tunneling oder Portweiterleitung unter Linux

So erstellen Sie SSH -Tunneling oder Portweiterleitung unter Linux

SSH -Tunneling (Auch als SSH -Portweiterleitung bezeichnet) wird einfach den lokalen Netzwerkverkehr über SSH an Remote -Hosts weiterleiten. Dies impliziert, dass alle Ihre Verbindungen mit Verschlüsselung gesichert werden. Es bietet eine einfache Möglichkeit, eine Basis einzurichten VPN (Virtuelles privates Netzwerk) nützlich, um sich mit privaten Netzwerken über unsichere öffentliche Netzwerke wie das Internet zu verbinden.

Möglicherweise werden Sie auch verwendet, um lokale Server hinter NATs und Firewalls über sichere Tunnel auszusetzen, wie in NGROK implementiert.

[Möglicherweise gefallen Sie auch: Wie Sie den OpenSSH -Server sichern und härten]

Ssh Die Sitzungen ermöglichen standardmäßig Tunnel -Netzwerkverbindungen und es gibt drei Arten von SSH -Portweiterungen: lokal, Fernbedienung Und dynamisch Port-Weiterleitung.

In diesem Artikel werden wir zeigen.

Testumgebung:

Für den Zweck dieses Artikels verwenden wir das folgende Setup:

  1. Lokaler Gastgeber: 192.168.43.31
  2. Remote-Host: Linode Centos 7 VPS mit Hostname Server 1.Beispiel.com.

Normalerweise können Sie mit SSH wie folgt eine Verbindung zu einem Remote -Server herstellen. In diesem Beispiel habe ich eine kennwortlose SSH -Login zwischen meinen lokalen und Remote -Hosts konfiguriert, sodass es nicht nach dem Passwort des Benutzeradministrators gefragt wurde.

$ ssh [E -Mail geschützt] 
Remote SSH ohne Passwort verbinden

Lokale SSH -Portweiterung

Mit dieser Art der Portweiterleitung können Sie von Ihrem lokalen Computer eine Verbindung zu einem Remote -Server herstellen. Angenommen, Sie stehen hinter einer restriktiven Firewall oder von einer ausgehenden Firewall, um auf eine Anwendung zuzugreifen, die auf Port ausgeführt wird 3000 Auf Ihrem Remote -Server.

Sie können einen lokalen Port weiterleiten (e.G 8080), mit dem Sie dann lokal wie folgt auf die Anwendung zugreifen können. Der -L Flag definiert den Port, der an den Remote -Host- und Remote -Port weitergeleitet wird.

$ ssh [E -Mail geschützt] -l 8080: server1.Beispiel.com: 3000 

Hinzufügen der -N Flaggen bedeutet, keinen Remote -Befehl auszuführen, Sie erhalten in diesem Fall keine Shell.

$ ssh -n [E -Mail geschützt] -l 8080: server1.Beispiel.com: 3000 

Der -F Switch weist SSH an, im Hintergrund zu laufen.

$ ssh -f -n [E -Mail geschützt] -l 8080: server1.Beispiel.com: 3000 

Öffnen Sie nun auf Ihrem lokalen Computer einen Browser, anstatt über die Adresse auf die Remote -Anwendung zugreifen zu können Server 1.Beispiel.com: 3000, Sie können einfach verwenden Localhost: 8080 oder 192.168.43.31: 8080, Wie im Screenshot unten gezeigt.

Greifen Sie über die lokale SSH -Portweiterleitung auf eine Remote -App zu

Remote SSH -Portweiterung

Mit Remote -Port -Weiterleitung können Sie von Ihrem Remote -Computer an den lokalen Computer herstellen. Standardmäßig erlaubt SSH keine Fernversorgung der Remote -Port. Sie können dies mit dem aktivieren Gatewayports Anweisung in Ihrer SSHD -Hauptkonfigurationsdatei /etc/ssh/sshd_config auf dem Ferner Host.

Öffnen Sie die Datei zum Bearbeiten mit Ihrem bevorzugten Befehlszeileneditor.

$ sudo vim/etc/ssh/sshd_config 

Suchen Sie nach der erforderlichen Richtlinie, sichern Sie sie und setzen Sie ihren Wert auf Ja, Wie im Screenshot gezeigt.

Gatewayports Ja 
Aktivieren Sie die Weiterleitung der Remote -SSH -Port

Speichern Sie die Änderungen und beenden Sie. Als nächstes müssen Sie SSHD neu starten, um die jüngste Änderung anzuwenden, die Sie vorgenommen haben.

$ sudo systemCTL Neustart SSHD oder $ sudo Service SSHD Neustart 

Führen Sie als nächstes den folgenden Befehl aus, um den Port weiterzuleiten 5000 auf der Fernmaschine zum Port 3000 auf der lokalen Maschine.

$ ssh -f -n [E -Mail geschützt] -R 5000: localhost: 3000 

Sobald Sie diese Tunnelmethode verstanden haben, können Sie einen lokalen Entwicklungsserver einfach und sicher entlarvt, insbesondere hinter Nats und Firewalls im Internet über sichere Tunnel. Tunnel wie Ngrok, PageKite, localtunnel, und viele andere arbeiten auf ähnliche Weise.

Dynamische SSH -Portweiterleitung

Dies ist die dritte Art der Portweiterleitung. nicht wie lokal Und Fernbedienung Portweiterleitung, die die Kommunikation mit einem einzelnen Port ermöglicht, ermöglicht es eine vollständige Reihe von TCP -Kommunikation über eine Reihe von Ports. Die dynamische Portweiterleitung richtet Ihre Maschine als Maschine ein Socks Proxy Server Das hört auf Port zu 1080, standardmäßig.

Für Starter, Socken ist ein Internet -Protokoll, das definiert, wie ein Client über einen Proxy -Server eine Verbindung zu einem Server herstellen kann (in diesem Fall SSH). Sie können die dynamische Portweiterleitung mithilfe der Aktivierung aktivieren -D Möglichkeit.

Der folgende Befehl startet einen Sockenproxy am Port 1080 So können Sie eine Verbindung zum Remote -Host herstellen.

$ ssh -f -n -d 1080 [E -Mail geschützt] 

Von nun an können Sie Anwendungen auf Ihrem Computer auf diesem SSH -Proxyserver erstellen, indem Sie deren Einstellungen bearbeiten und diese so konfigurieren, dass sie sie verwenden, um eine Verbindung zu Ihrem Remote -Server herzustellen. Notiere dass der Socken Proxy wird nicht mehr arbeiten, nachdem Sie Ihre SSH -Sitzung geschlossen haben.

Lesen Sie auch: 5 Möglichkeiten, um die Remote -SSH -Sitzungen nach dem Schließen von SSH zu halten

Zusammenfassung

In diesem Artikel haben wir die verschiedenen Arten der Portweiterleitung von einer Maschine zum anderen erläutert, um den Verkehr über die sichere SSH -Verbindung zu dem Tunnel des Verkehrs zu tun. Dies ist eine der sehr vielen Verwendungen von SSH. Sie können Ihre Stimme über das Feedback -Formular unten zu dieser Anleitung hinzufügen.

Aufmerksamkeit: Die SSH -Portweiterleitung hat einige erhebliche Nachteile. Es kann missbraucht werden: Es kann verwendet werden, um die Überwachung und die Verkehrsfilterungsprogramme (oder Firewalls) zu umgehen, um die Netzwerküberwachung und die Verkehrsfilterungsprogramme zu umgehen. Angreifer können es für böswillige Aktivitäten nutzen. In unserem nächsten Artikel werden wir zeigen. In Verbindung bleiben!