Von Ruby /Zuletzt aktualisiert 02.08.2023

Was ist SSH?

SSH (Secure Shell) ist ein häufig verwendetes Protokoll für den Remote-Zugriff über die Befehlszeilenschnittstelle. Wenn eine sichere SSH-Verbindung hergestellt wird, wird eine Shell-Sitzung gestartet, und Benutzer können den Server durch Eingabe von Befehlen auf dem Client bearbeiten.

SSH

SSH ist optimiert für den Zugriff auf Linux-Server, kann jedoch auf jedem Server mit einem beliebigen Betriebssystem verwendet werden. Es bietet eine starke Verschlüsselung, und Benutzer können sich über SSH über das Internet mit einem anderen Computer verbinden, um Dateien zu übertragen oder Befehle auszuführen.

Wie verwendet man SSH-Portweiterleitung?

Der Vorgang, bei dem SSH verwendet wird, um TCP/IP-Übertragungen zu verschlüsseln und zu entschlüsseln, die von anderen Anwendungen auf anderen TCP-Ports hergestellt wurden, wird Portweiterleitung genannt, und die meisten ihrer Vorgänge sind transparent und sehr leistungsfähig. Portweiterleitung, manchmal auch als Tunneling bezeichnet, kann eine unsichere Verbindung in eine sichere verschlüsselte Verbindung umwandeln und ist sehr effektiv zum Durchdringen von Firewalls. Im nächsten Teil werden wir Ihnen beibringen, wie Sie SSH-Portweiterleitung aus lokaler, entfernter und dynamischer Sicht erstellen können.

Lokale Portweiterleitung

SSH lokale Portweiterleitung ermöglicht es Ihnen, den Datenverkehr von einem lokalen Computerport an einen SSH-Server zu senden, der ihn dann an einen Zielserver weiterleitet.

Local Port Forwarding

Lassen Sie uns ein Beispiel betrachten. Nehmen wir an, Sie möchten eine Verbindung zu einem Datenbankserver auf Ihrem Server herstellen, der auf Port 3376 hört. Um externe Angreifer fernzuhalten, befindet sich der Port des Datenbankservers hinter der Firewall. Und Sie haben einen Windows-Server, auf dem nur die SSH-Ports geöffnet sind. Sie können RDP nicht verwenden, da der Port 3389 von der Firewall blockiert wird. Also können Sie SSH verwenden, um dies zu tun.

Geben Sie Folgendes auf dem lokalen PC ein:

ssh -L 4000:192.168.0.63:3376 [email protected]

Auf Ihrem eigenen PC bindet SSH nun an Port 4000. Jeglicher Datenverkehr, der durch diesen Port läuft, wird an den SSH-Server weitergeleitet. Der Datenverkehr wird dann an 192.168.0.63 Port 3376 gesendet, der der Serverport ist.

Sie können jetzt eine Verbindung zur Datenbank herstellen. Geben Sie einfach 192.168.0.63 als Host und 4000 als Port in der Datenbankanwendung an. Darüber hinaus können Sie mit einem einzelnen SSH-Befehl mehrere Gruppen von Ports weiterleiten:

ssh -L 5762:192.168.0.63:5762 -L 4000:192.168.0.63:3376 [email protected]

Neben der Portweiterleitung des lokalen Ports 5762 zu 192.168.0.63:5762 leiten wir auch den lokalen Port 4000 zu 192.168.0.63:5762 weiter.

Remote Portweiterleitung

Tatsächlich ist die SSH-Portweiterleitung genau das Gegenteil der lokalen Portweiterleitung. Sie sendet die Kommunikation von einem Serverport an einen lokalen Computer, der sie dann an ein Ziel weiterleitet.

Remote Port Forwarding

Angenommen, Sie arbeiten an einer Webanwendung, die auf Port 7756 Ihres lokalen Computers läuft. Da Sie sich hinter einem NAT-Netzwerk ohne öffentliche IP-Adresse befinden, können andere nicht direkt darauf zugreifen. Jetzt möchten Sie einem Kunden die Anwendung vorführen. Glücklicherweise können Sie zur Unterstützung die entfernte Weiterleitung verwenden.

ssh -R 7000:192.168.0.63:7756 [email protected]

Wenn Sie diesen Befehl ausführen, bindet der SSH-Server an Port 7000 auf example.com. Alle Nachrichten, die auf diesem Port empfangen werden, werden an Ihren lokalen Computer-SSH-Client gesendet, der sie dann an 192.168.0.63 Port 7756 sendet. Jetzt kann der Kunde Ihre Anwendung nutzen, indem er http://example.com:7000 in einem Browser aufruft.

Sie können, ähnlich wie bei der entfernten Portweiterleitung, auch ein anderes Ziel verwenden. Angenommen, Sie möchten, dass Ihnen ein Freund hilft, einen Router zu installieren. Da er nicht direkt auf Ihren Router zugreifen kann, können Sie die entfernte Portweiterleitung wie folgt verwenden:

ssh -R 7653:192.168.63:7777 [email protected]

Dynamische Portweiterleitung

Bisher haben wir gesehen, wie man SSH verwendet, um lokale Ports und entfernte Ports weiterzuleiten. Obwohl es fast wie ein Proxy fungiert, kann es nicht in seinem aktuellen Zustand verwendet werden. Dies liegt daran, dass Sie für jedes Ziel und jeden Dienst, den Sie verwenden möchten, separate Ports angeben müssten, was umständlich ist.

Dynamic Port Forwarding

Glücklicherweise gibt es SSH „dynamische Portweiterleitung“, eine Art Weiterleitung, die zu diesem Zweck verwendet werden kann. Geben Sie den folgenden Befehl ein, um die dynamische Portweiterleitung zu aktivieren:

ssh -D 3679 [email protected]

Der SSH-Client auf Ihrem lokalen Computer startet einen SOCKS-Proxy auf Port 3679. Jeglicher Datenverkehr, der an diesen Port gesendet wird, wird über den SSH-Server an sein entsprechendes Ziel gesendet.

Fazit

Nach der ausführlichen Erklärung sollten Sie nun wissen, wie Sie SSH-Portweiterleitung aus lokaler, entfernter und dynamischer Sicht entsprechend erstellen können, was in unserem täglichen Leben nützlich ist. Natürlich, wenn Sie denken, dass es für Sie zu schwierig ist, SSH-Portweiterleitung für den Remote-Zugriff zu erstellen, empfehlen wir eine kostenlose Remote-Zugriffssoftware von Drittanbietern – AnyViewer. Gesichert durch die Verschlüsselung mit elliptischer Kurve (ECC), kann AnyViewer die Sicherheit Ihrer Remote-Verbindung wirklich garantieren.

Freeware herunterladen Win PCs & Server
Sicherer Download