So erstellen Sie einen SSH-Tunnel zwischen einem Linux-Server und einem Windows-Client

Die Idee, a SSH-Tunnel besteht darin, alle Verbindungen zu verschlüsseln (unabhängig davon, ob Sie beispielsweise zu einer https- oder http-Seite gehen) und eine Verbindung zu herzustellen Internet durch ein sicherer Kanal. Dieser "sichere" Kanal ist nichts weiter als ein Server für diesen Zweck konfiguriert. Dieser Server könnte sich beispielsweise bei Ihnen zu Hause befinden.


Der "Nachteil" dieser Methode besteht darin, dass Sie diesen Computer immer eingeschaltet und korrekt konfiguriert haben müssen, um als SSH-Server zu fungieren. Sie können jedoch die Sicherheit Ihrer Verbindung erheblich verbessern und sogar die von Netzwerkadministratoren auferlegten Verbindungsbeschränkungen umgehen ( zum Beispiel Ihren Job).

Ich höre dich fragen: Kann mir das wirklich helfen? Nehmen wir das folgende Szenario an: Sie befinden sich in einem Internetcafé oder -restaurant mit kostenlosem WLAN und müssen eine Überweisung oder eine andere wichtige Operation durchführen. Natürlich wird immer empfohlen, diese Art von Transaktionen in einer sicheren Umgebung durchzuführen. Es gibt jedoch eine Lösung: einen SSH-Tunnel. Auf diese Weise können wir über unseren "sicheren" Server eine Verbindung zum Internet herstellen.

Diese Methode ist auch nützlich, um die Einschränkungen zu umgehen, die Verbindungen in vielen Arbeitsumgebungen auferlegt werden. Sie können von der Arbeit aus nicht auf YouTube zugreifen? Nun, ein SSH-Tunnel kann die Lösung sein, da alle Anforderungen über Ihren "sicheren" Server gestellt werden. Mit anderen Worten, da die IP Ihres sicheren Servers nicht blockiert ist (ja, andererseits die von YouTube), können Sie diese Einschränkung umgehen (nicht auf YouTube zugreifen können), da dies für den Administrator des Netzwerks Ihres Unternehmens gilt Ihr Computer hat nur mit Ihrem "sicheren" Server geplaudert und hat keine Ahnung, dass Sie dadurch tatsächlich viele Seiten durchsuchen.

In diesem Tutorial erklären wir den "typischen" Fall: Linux-Server, Windows-Client.

Konfigurieren Sie den Linux-Server

1. - Installieren Sie den SSH-Server. Dazu habe ich ein Terminal geöffnet und ausgeführt:

En Ubuntu:

sudo apt-get install openssh-server

En Bogen:

pacman -S öffnetsh

En Fedora:

yum -y installiere openssh-server

Bereit. Sie können jetzt mit einem SSH-Client auf Ubuntu (SSH-Server) zugreifen.

2. - Nach der Installation ist es hilfreich, die Konfigurationsdatei zu überprüfen:

sudo nano / etc / ssh / sshd_config

Aus dieser Datei können Sie Ihren SSH-Server problemlos konfigurieren. Meine Empfehlung ist, nur 2 Parameter zu ändern: Port und Zulassungsbenutzer.

Um mögliche Angriffe zu vermeiden, wird empfohlen, den von SSH verwendeten Port zu ändern. Standardmäßig hat es den Wert 22, Sie können einen anderen auswählen, der am besten zu Ihnen passt (für die Zwecke dieses Tutorials haben wir 443 ausgewählt, aber es kann jeder andere sein).

Mit dem Parameter Allowusers können Sie den Zugriff durch den Benutzer und optional den Host, von dem aus Sie eine Verbindung herstellen können, einschränken. Im folgenden Beispiel wird der Zugriff auf den SSH-Server eingeschränkt, sodass nur so und so Benutzer dies von den Hosts 10.1.1.1 und 10.2.2.1 aus tun können.

AllowUsers so und so@10.1.1.1 mengano@10.1.1.1 so und so@10.2.2.1 mengano@10.2.2.1

Konfigurieren Sie den Router

Wenn sich Ihr Server hinter einem Router befindet, muss dieser so konfiguriert werden, dass eingehende Verbindungen nicht blockiert werden. Genauer gesagt müssen Sie konfigurieren.

Bevor wir zur Sache kommen und die notwendige Konfiguration zeigen, erscheint es ratsam, ein wenig zu erklären, woraus die Portweiterleitung besteht.

Angenommen, Sie haben ein lokales Netzwerk von 3 Computern, die sich alle hinter einem Router befinden. Wie kommuniziert eine eingehende Verbindung (wie in unserem Fall über SSH) mit Maschine 1 unseres lokalen Netzwerks? Vergessen Sie nicht, dass die 3 Computer "von außerhalb", obwohl sie lokale IPs haben, eine einzige öffentliche IP gemeinsam nutzen, über die sie eine Verbindung zum Internet herstellen.

Die Lösung für das oben genannte Problem ist die Portweiterleitung. Auf diese Weise verweist der Router eingehende Verbindungen an Port X unserer öffentlichen IP-Adresse an den entsprechenden Computer. Auf diese Weise wissen wir, dass der Router uns bei jeder Verbindung über diesen Port auf den entsprechenden Computer umleitet (daher die Portweiterleitung). All dies muss natürlich im Router konfiguriert werden.

Die Konfiguration der Portweiterleitung variiert je nach verwendetem Router geringfügig. Am praktischsten ist ein Besuch portforward.comWählen Sie das von Ihnen verwendete Routermodell aus und befolgen Sie die dort beschriebenen Schritte.

Konfigurieren Sie den Windows-Client

Um eine Verbindung von Windows aus herzustellen, ist es praktisch, das PuTTY-Tool als SSH-Client zu verwenden.

1. - Der erste Schritt ist das Herunterladen von PuTTY

Wie Sie auf der PuTTY-Downloadseite sehen können, stehen verschiedene Versionen zur Verfügung. Ich empfehle die tragbare Version des Programms herunterzuladen: putty.exe. Der Vorteil der Auswahl der tragbaren Version besteht darin, dass Sie sie jederzeit auf einem Pendrive mitnehmen und das Programm von jedem Computer aus ausführen können, wo immer Sie sich befinden.

2. - Öffnen Sie PuTTY und geben Sie die IP (öffentlich) und den Port des Servers an, zu dem der SSH-Client eine Verbindung herstellen soll. Wie finde ich die öffentliche IP Ihres Servers heraus? Einfach, googeln Sie einfach "Was ist meine öffentliche IP", um Tausende von Seiten zu finden, die diesen Service anbieten.

3. - Wenn sich der "Client" hinter einem Proxy befindet, vergessen Sie nicht, ihn korrekt zu konfigurieren. Wenn Sie sich nicht sicher sind, welche Daten Sie eingeben sollen, öffnen Sie den Internet Explorer und gehen Sie zu Extras> Verbindungen> LAN-Einstellungen> Erweitert. Kopieren Sie die Daten, die dort in PuTTY angezeigt werden, und fügen Sie sie ein (siehe Abbildung unten). In einigen Fällen müssen Sie möglicherweise einen Benutzernamen und ein Kennwort eingeben.

4. - Zum Erstellen des SSH-Tunnels müssen die "lokalen" Portweiterleitungsdaten eingegeben werden. Gehen Sie zu Verbindung> SSH> Tunnel. Hier ist die Idee die folgende, wir müssen PuTTY mitteilen, welche Verbindungen zu unserem sicheren Server "umgeleitet" werden sollen. Dazu müssen wir einen Port auswählen.

Meine Empfehlung, insbesondere wenn sich der Computer hinter einem Proxy befindet, lautet, dass Sie Port 443 auswählen, da dieser von SSL zum Herstellen sicherer Verbindungen verwendet wird, was es dem Administrator erschwert, herauszufinden, was Sie tun. Auf der anderen Seite wird Port 8080 von HTTP verwendet (was keine "sichere" Verbindung ist), sodass ein erfahrener Netzwerkadministrator möglicherweise misstrauisch ist und den Port möglicherweise sogar für andere Arten von Verbindungen blockiert hat.

Geben Sie unter Ziel die IP des sicheren Servers erneut ein, gefolgt von einem Doppelpunkt und dem Port, den Sie geöffnet haben, im Punkt "Router konfigurieren" und in der Datei ~ / .ssh / config. Zum Beispiel 192.243.231.553:443.

Wählen Sie Dynamisch (wodurch eine SOCKS-Verbindung erstellt wird, die wir im nächsten Punkt verwenden werden) und klicken Sie auf Hinzufügen.

5. - Ich kehrte zum PuTTY-Hauptbildschirm zurück, klickte auf Speichern und dann auf Öffnen. Wenn Sie zum ersten Mal eine Verbindung zum Server herstellen, wird eine Warnmeldung wie die folgende angezeigt:

6. - Anschließend werden Sie nach Ihrem Benutzernamen und Passwort beim Zugriff auf den Server gefragt.

Wenn alles gut gegangen ist, sollten Sie nach dem Anmelden so etwas wie das sehen, was Sie unten sehen ...

7.- Öffnen und konfigurieren Sie Firefox (oder Ihren bevorzugten Browser), ohne PuTTY zu schließen, um über PuTTY eine Verbindung zum Internet herzustellen.