Connessione inversa tramite tunnel SSH

Scopri come configurare un tunnel SSH inverso con un esempio di facile comprensione. Un tunnel SSH inverso consente a un servizio locale di essere accessibile in modo sicuro tramite una connessione remota.

Comprensione dei tunnel SSH inversi

Supponiamo che tu abbia un servizio sul tuo computer locale in esecuzione sulla porta 80. Desideri accedere a questo servizio da un computer remoto, ma un firewall è d’intralcio.

Un esempio visivo di un tunnel SSH inverso e del comando associato.

Per aggirare le restrizioni del firewall, puoi inviare il servizio locale sulla porta SSH tramite un tunnel.

Diamo un’occhiata a un esempio specifico.

Esempio di tunnel SSH inverso

Il comando per stabilire un tunnel SSH inverso è simile al seguente

ssh -N -R -p 22 localhost:8888:192.168.1.6:80 root@159.223.180.93
  • -N è un flag per inoltrare semplicemente le porte e non eseguire comandi remoti
  • -R è il flag del tunnel SSH inverso che inoltra le connessioni remote al lato locale
  • -P 22 è la porta SSH del server remoto. Può trattarsi di una porta diversa, ma deve essere aperta
  • localhost è l’host sul server remoto che si collegherà al servizio locale
  • 8888 è la porta su cui resterà in ascolto il server remoto
  • 192.168.1.6 è l’indirizzo IP interno del servizio locale
  • 80 è il porto del servizio locale
  • radice è l’utente SSH del server remoto
  • 159.223.180.93 è l’indirizzo IP pubblico del server remoto

Dopo aver eseguito il comando tunnel SSH inverso, il servizio locale presso 192.168.1.6:80 sarà accessibile sul computer remoto all’indirizzo host locale:8888.

Abbreviazione

L’esempio sopra è abbastanza esplicito. Ecco alcuni modi per abbreviarlo.

  • Non è necessario includere localhost perché è l’impostazione predefinita
  • La porta SSH predefinita è 22, quindi non è necessario specificarla
  • Il flag -N è facoltativo. La funzionalità sarà la stessa indipendentemente dal fatto che la includi o meno
  • Se il servizio locale è in esecuzione su localhost (o su un altro nome host), puoi utilizzarlo al posto dell’indirizzo IP interno. Da non confondere con localhost sul lato remoto
ssh -R 8888:localhost:80 root@159.223.180.93

Altri tipi di tunnel SSH

Esistono alcuni tipi diversi di tunnel SSH. Oltre ai tunnel SSH inversi, esistono anche tunnel SSH normali e tunnel proxy SSH. A seconda del caso d’uso, questi altri tipi di tunnel SSH potrebbero soddisfare le tue esigenze.

Exit mobile version