GNU/Linux >> Linux Esercitazione >  >> Linux

Connessione SSH tramite un tunnel SSH inverso (remoto).

Quello a cui ti riferisci è "SSH REMOTE FORWARDING", ed è correttamente spiegato in "man ssh ", per quanto riguarda il "-R " opzione.

> 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.
    [...]

Nel tuo contesto, dove:

  • una Linux box A (LINUX_BOX_A) all'interno di una LAN dietro un firewall.
  • un server Linux B (SERVER_B) con un IP fisso accessibile da Internet

L'inoltro remoto SSH può essere utilizzato per raggiungere LINUX_BOX_A dal SERVER_B. L'unica condizione è:LINUX_BOX_A DEVE essere in grado di connettersi tramite SSH al SERVER_B.

Per raggiungere questo obiettivo è necessario:

  1. su LINUX_BOX_A:

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

questo aprirà una connessione ssh da LINUX_BOX_A al SERVER_B che verrà utilizzata per la connessione remota, in entrata.

Dopo aver stabilito la connessione ssh sopra, puoi:

  1. sul SERVER_B:

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

tale connessione ssh, lanciata su SERVER_B, sarà indirizzata alla porta 2222 in ascolto su localhost che... è legata alla precedente connessione ssh. Quindi questa sarà una "connessione ssh all'interno di un'altra connessione ssh".

Alcune note aggiuntive:

  • considera che se la prima connessione ssh andrà in timeout e/o fallirà per qualsiasi motivo (incluso:ucciso dal firewall locale, a causa di inattività), non sarai in grado di inoltrare in remoto/connessione_remota;

  • poiché è importante lasciare attiva la prima connessione ssh per molto tempo, potrebbe essere utile avviare tale ssh all'interno di una sessione "screen"

Un'ultima nota:ovviamente, tutto quanto sopra ha alcune (potenzialmente gravi) implicazioni sulla sicurezza che esulano dall'ambito di questa risposta.


Linux
  1. Ssh - Desktop remoto su tunnel inverso Ssh per sostituire Teamviewer?

  2. Ssh - Traffico di tunnel attraverso un'altra macchina su Ssh?

  3. Come configurare i caratteri su una connessione X remota (xdmcp vs. Ssh)?

  4. Esecuzione di un comando remoto sulla connessione Ssh, prima dell'accesso?

  5. Come configurare il tunnel SSH inverso su Linux

Una guida per principianti a SSH per la connessione remota su Linux

SSH a host remoti tramite un proxy o un bastion con ProxyJump

Ssh:come funziona il tunneling Ssh inverso?

Come connettersi a Internet tramite un server remoto tramite connessione Ssh?

Come configurare una connessione MySQL remota sicura

Inoltra SSH attraverso il tunnel SSH