GNU/Linux >> LINUX-Kenntnisse >  >> Linux

SSH-Verbindung über einen Reverse (Remote) SSH-Tunnel

Was Sie meinen, ist "SSH REMOTE FORWARDING" und wird im "man ssh" richtig erklärt “, bezüglich des „-R " Option.

> man ssh
[...]
 -R [bind_address:]port:host:hostport
    Specifies that the given port on the remote (server) host is to 
    be forwarded to the given host and port on the local side.
    This works by allocating a socket to listen to port on the remote 
    side, and whenever a connection is made to this port, the
    connection is forwarded over the secure channel, and a connection is 
    made to host port hostport from the local machine.
    [...]

In Ihrem Kontext, wo:

  • eine Linux-Box A (LINUX_BOX_A) in einem LAN hinter einer Firewall.
  • ein Linux-Server B (SERVER_B) mit fester IP, der über das Internet erreichbar ist

Die SSH-Remote-Weiterleitung kann verwendet werden, um LINUX_BOX_A von SERVER_B aus zu erreichen. Die einzige Bedingung ist:LINUX_BOX_A MUSS sich über SSH mit SERVER_B verbinden können.

Um dieses Ziel zu erreichen, benötigen Sie:

  1. auf LINUX_BOX_A:

LINUX_BOX_A:~ $ ssh -R 2222:localhost:22 [email protected]_B

Dadurch wird eine SSH-Verbindung von LINUX_BOX_A zu SERVER_B geöffnet, die für die entfernte, eingehende Verbindung verwendet wird.

Nachdem die obige SSH-Verbindung hergestellt wurde, können Sie:

  1. auf SERVER_B:

SERVER_B:~ $ ssh -p 2222 [email protected]

Eine solche ssh-Verbindung, die auf SERVER_B gestartet wird, wird an den 2222-Port geleitet, der auf localhost lauscht, der ... an die vorherige ssh-Verbindung gebunden ist. Dies wird also eine "ssh-Verbindung innerhalb einer anderen ssh-Verbindung" sein.

Einige zusätzliche Anmerkungen:

  • bedenken Sie, dass, wenn die erste ssh-Verbindung aus irgendeinem Grund abbricht und/oder abbricht (einschließlich:durch lokale Firewall aufgrund von Inaktivität beendet), Sie nicht in der Lage sein werden, remote-forward/remotely_connect;

  • da es wichtig ist, die erste ssh-verbindung wirklich lange aktiv zu lassen, könnte es nützlich sein, eine solche ssh-verbindung innerhalb einer "screen"-sitzung zu starten

Eine letzte Anmerkung:Offensichtlich hat all das Obige einige (potenziell schwerwiegende) Auswirkungen auf die Sicherheit, die nicht Gegenstand dieser Antwort sind.


Linux
  1. SSH zu Remote-Hosts über einen Proxy oder eine Bastion mit ProxyJump

  2. Ssh – Tunnelverkehr durch eine andere Maschine über SSH?

  3. Wie konfiguriere ich Schriftarten auf einer Remote-X-Verbindung (xdmcp vs. Ssh)?

  4. Wie kann ich meinen gesamten Netzwerkverkehr über SSH tunneln?

  5. Wie beende ich eine SSH-Verbindung?

Eine Anleitung für Anfänger zu SSH für Remote-Verbindungen unter Linux

Ssh – Wie funktioniert Reverse-SSH-Tunneling?

Ssh – Remote Desktop über Ssh Reverse Tunnel als Ersatz für Teamviewer?

Ausführen eines Remote-Befehls über eine SSH-Verbindung vor der Anmeldung?

Wie stellt man über einen Remote-Server über eine SSH-Verbindung eine Verbindung zum Internet her?

So richten Sie eine sichere Remote-MySQL-Verbindung ein