So verwenden Sie SSH -Tunneling oder Portweiterung

So verwenden Sie SSH -Tunneling oder Portweiterung
Das Erstellen einer sicheren Verbindung zwischen dem lokalen Host und dem Remote -Host wird als SSH -Tunneling oder Portweit bezeichnet. Alle Verbindungen durch SSH -Tunneling sind verschlüsselt. Diese Funktion von SSH ist für viele Zwecke nützlich, z. B. das Verwalten der Datenbank des eingeschränkten Server. Die SSH -Portweiterleitung kann auf drei verschiedene Arten durchgeführt werden. Dies sind lokale Portweiterleitung, Fernversorgung und dynamische Portweiterleitung. Die Möglichkeiten zur Verwendung von SSH -Tunneling oder Portweiterungen wurden in diesem Tutorial erläutert.

Voraussetzungen

Bevor Sie mit den Schritten dieses Tutorials beginnen, müssen die folgenden Schritte ausgeführt werden.

A. Aktivieren Sie den SSH -Dienst auf Ubuntu, wenn er vorher nicht aktiviert ist.

B. Generieren Sie die SSH -Schlüsselpaare, um die Befehle auf dem Remote -Server auszuführen. Führen Sie den folgenden Befehl aus, um den öffentlichen Schlüssel und den privaten Schlüssel zu erstellen. Der private Schlüssel wird auf dem Remote -Server gespeichert und die öffentlichen Schlüssel werden sicher im Client gespeichert.

$ ssh -keygen -t RSA

C. Führen Sie den folgenden Befehl aus, um die zu öffnen sshd_config Datei mit dem Nano -Editor zum Hinzufügen einiger notwendiger Konfigurationen.

$ sudo nano/etc/ssh/sshd_config

Fügen Sie die folgenden Zeilen in der Datei hinzu, um die Stammanmeldung und die kennwortbasierte Authentifizierung zu aktivieren.

PasswortAuthentication Ja
Erlaubnisrootlogin Ja

D. Führen Sie den folgenden Befehl aus, um den SSH -Dienst neu zu starten.

$ sudo Service SSH Neustart

Lokale Hafenweiterung

Es wird verwendet, um einen Port vom Client -Computer an einen Port der Servermaschine zu leiten, und als nächstes wird an die Zielmaschine weitergeleitet. Der Client -Computer hört auf einem bestimmten Port und Tunnel der Verbindung von diesem Port zum jeweiligen Port des Servergeräts in dieser Weiterleitungstyp. Hier kann der Zielgerät jeder Remote -Server oder einen anderen Computer sein. Diese Weiterleitung wird hauptsächlich auf dem internen Netzwerk wie VNC (Virtual Network Computing) Server verwendet.

Remote -Portweiterung

Das Gegenteil der lokalen Portweiterleitung ist die Fernversorgung der Remote -Port. Es wird verwendet, um einen Port von der Servermaschine an einen Port des Client -Computers weiterzuleiten, und als nächstes wird an die Zielmaschine weitergeleitet. Die Servermaschine hört auf einem bestimmten Port und Tunnel der Verbindung von diesem Port zum jeweiligen Port des Client -Computers in dieser Weiterleitungstyp. Hier kann die Zielmaschine eine beliebige lokale Maschine oder eine andere Maschine sein.

Dynamische Portweiterleitung

Es wird verwendet, um einen Socket auf dem Client -Computer zu erstellen, der als Socken -Proxy -Server funktioniert. Wenn ein Client eine Verbindung zum Port herstellt, wird die Verbindung an den Servergerät weitergeleitet. Als nächstes wird es an den dynamischen Port der Zielmaschine weitergeleitet. Die Anwendungen, die mit Socks Proxy verwendet werden.

Beispiele für SSH -Tunneling oder Hafenweiterung

Die SSH -Tunnel- und Portweiterleitungsbeispiele wurden hier mit zwei lokalen Serverkonten gezeigt. Sie können den gleichen Prozess für den Remote -Server befolgen. Hier ist der Benutzername der Servermaschine "Fahmida" und der Benutzername der Client -Maschine "Yasmin. Hier wurden drei Arten von SSH -Portweiterleitung an drei Beispielen gezeigt.

A. Greifen Sie vom Client -Computer über Remote -Ressourcen zu
Auf die Ressourcen des Remote -Computers können Sie über die lokale Portweiterleitung über den Client -Computer zugegriffen werden. Normalerweise wird eine Verbindung zum SSH -Server hergestellt. In diesem Fall müssen Sie jedoch die Option -L mit dem SSH -Befehl verwenden, indem Sie den lokalen Port, die Remote -Adresse und den Remote -Port definieren. Die Syntax der lokalen Portweiterleitung ist unten angegeben.

ssh -l local_port: remote_address: remote_port [email protected]

Angenommen, die lokale Portnummer lautet 8080, Die IP -Adresse des Remote -Servers lautet 10.0.2.15, und die Remote -Portnummer ist 80. Führen Sie den folgenden Befehl aus, um eine Verbindung mit dem Servergerät mit der lokalen Portweiterleitung herzustellen. Hier ist der Hostname der Remote -Maschine 'Fahmida.com.Bd.''

$ ssh -l 8080: 10.0.2.15:80 [email protected]

Nach der Verbindung mit dem Remote -Computer kann der Benutzer des Client -Computers auf alle Inhalte des hier gezeigten Remote -Computers zugreifen. Eine Textdatei mit dem Namen Protokoll.txt existiert in der Fernmaschine. Führen Sie nun den folgenden Befehl vom Client -Computer aus, um den Inhalt der Datei nach der Anmeldung in der Remote -Maschine zu lesen.

$ Cat Log.txt

Führen Sie die folgenden Befehle aus, um sich von der Remote -Maschine abzumelden.

$ Exit

Nach der Ausführung der obigen Befehle wird die folgende ähnliche Ausgabe angezeigt. Die Ausgabe zeigt den Inhalt der Textdatei vom Remote -Computer und das nächste Anmelden von der Remote -Maschine aus.

B. Greifen Sie von der Servermaschine vom Servermaschine auf lokale Ressourcen zu
Auf die Ressourcen des lokalen Computers können Sie über die Remote -Port -Weiterleitung über die Servermaschine zugegriffen werden. Es wird normalerweise eine Verbindung zum SSH -Server hergestellt, aber in diesem Fall müssen Sie die Option -r -Option mit dem SSH -Befehl verwenden, indem Sie den Remote -Port, die lokale Adresse und den lokalen Port definieren. Die Syntax der Remote -Portweiterleitung ist unten angegeben.

SSH -r Remote_port: local_address: local_port [email protected]

Angenommen, die Remote -Portnummer ist 22, der Hostname des lokalen Servers ist Lokalhost, und die lokale Portnummer ist 2345. Führen Sie den folgenden Befehl aus, um eine Verbindung mit dem Servergerät per Remote -Port -Weiterleitung herzustellen. Hier ist der Hostname der Remote -Maschine 'Fahmida.com.Bd.''

$ ssh -r 22: localhost: 2345 [email protected]

Nach der Verbindung mit dem Remote -Computer greift der Benutzer des Remote -Computers auf jeden Inhalt des hier angezeigten Remote -Computers zugänglich. Eine Textdatei mit dem Namen Produkte.txt existiert im Heimverzeichnis der Client -Maschine. Führen Sie nun den folgenden Befehl aus, nachdem Sie eine Verbindung mit dem Remote -Computer hergestellt haben, um den Inhalt der lokalen Datei zu lesen.

$ cat/home/yesmin/produkte.txt
Führen Sie die folgenden Befehle aus, um sich von der Remote -Maschine abzumelden.
[CC Lang = "Text" width = "100%" Height = "100%" entkommen = "True" thema = "Blackboard" nowrap = "0"]
$ Exit

Nach der Ausführung der obigen Befehle wird die folgende ähnliche Ausgabe angezeigt. Die Ausgabe zeigt den Inhalt der Textdatei vom Client -Computer und das nächste Anmelden von der Remote -Maschine aus.

C. Verwenden von SSH Server als Proxy -Server
Die dynamische Portweiterleitung wird hauptsächlich zum Zugriff auf die jeweilige Anwendung des internen Netzwerks mithilfe eines Socks -Proxy verwendet. Die Option -D wird mit SSH -Befehl zur dynamischen Portweiterleitung verwendet. Die Syntax der dynamischen Portweiterleitung ist unten angegeben.

ssh -d local_port [email protected]

Angenommen, die lokale Portnummer lautet 5050. Führen Sie den folgenden Befehl aus, um einen Socken -Proxy am 5050 -Port zu öffnen. Jetzt kann der Benutzer einen beliebigen Browser oder jede Anwendung so konfigurieren, dass sie die lokale IP -Adresse und den 5050 -Port zum Umleiten des gesamten Datenverkehrs über den Tunnel verwenden.

$ ssh -d 5050 [email protected]

Abschluss

In diesem Tutorial wurden drei verschiedene Arten der SSH -Portweiterleitung beschrieben, um den Lesern zu helfen, das Konzept des SSH -Tunnelns oder der Hafenweiterleitung zu verstehen.