So erstellen Sie SSH -Tunneling oder Portweiterleitung unter Linux
- 4564
- 610
- Hr. Moritz Bozsik
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:
- Lokaler Gastgeber: 192.168.43.31
- 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.
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 JaAktivieren 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!
- « So testen Sie Ihre Linux -Internetgeschwindigkeit mit der SpeedTest CLI
- So installieren Sie den neuesten LXQT -Desktop in Ubuntu und Fedora »