Torna all'indice della documentazione

Port Forwarding

Termial supporta il port forwarding SSH per accedere in modo sicuro a servizi remoti. Crea tunnel locali, remoti e accedi a servizi dietro firewall.

Panoramica

Il port forwarding SSH crea tunnel sicuri tra la tua macchina locale e server remoti. Casi d'uso comuni:

  • Accedere a database dietro firewall
  • Sviluppo web locale con servizi remoti
  • Accesso sicuro a pannelli di amministrazione
  • Bypassare restrizioni di rete

Tipi di Port Forwarding

Port Forwarding Locale (Local)

Inoltra una porta locale a un host remoto. Il traffico verso localhost:porta_locale viene inviato attraverso il tunnel SSH a host_destinazione:porta_remota.

Caso d'uso: Accedere a un database server che accetta connessioni solo da localhost.

Port Forwarding Remoto (Remote)

Inoltra una porta sul server remoto alla tua macchina locale. Il traffico verso server_remoto:porta_remota viene inviato attraverso il tunnel al tuo localhost:porta_locale.

Caso d'uso: Esporre un servizio di sviluppo locale a un server remoto.

Port Forwarding Dinamico

Crea un proxy SOCKS che può inoltrare traffico a qualsiasi destinazione attraverso il server SSH.

Caso d'uso: Navigare internet attraverso la connessione del server remoto.

Creare un Port Forward

Metodo Rapido

  1. Connettiti a un server via SSH
  2. Clicca sull'icona Port Forward nella barra del terminale
  3. Seleziona il tipo di forwarding
  4. Inserisci le porte e gli host
  5. Clicca su Crea

Dalle Impostazioni della Connessione

  1. Modifica una connessione SSH
  2. Vai alla sezione Port Forwarding
  3. Clicca su Aggiungi Port Forward
  4. Configura le impostazioni
  5. Salva la connessione

Configurazione Port Forward

CampoDescrizione
TipoLocale, Remoto o Dinamico
Porta LocalePorta sulla tua macchina
Host DestinazioneHost a cui connettersi (per locale/remoto)
Porta DestinazionePorta sull'host destinazione

Port Forwarding Locale

Configurazione

Tipo: Locale
Porta Locale: 3306
Host Destinazione: localhost
Porta Destinazione: 3306

Questo crea un tunnel dove:

  • Ti connetti a localhost:3306 sulla tua macchina
  • Il traffico viaggia attraverso la connessione SSH
  • Arriva a localhost:3306 sul server remoto

Esempio: Database MySQL

Per accedere a MySQL su un server remoto:

  1. Crea un port forward locale:
    • Porta Locale: 3306
    • Host Destinazione: localhost
    • Porta Destinazione: 3306
  2. Connettiti al tuo client MySQL usando localhost:3306
  3. Il traffico è tunnelizzato in modo sicuro al server remoto

Esempio: Applicazione Web

Per accedere a un'app web su una porta remota:

  1. Crea un port forward locale:
    • Porta Locale: 8080
    • Host Destinazione: localhost
    • Porta Destinazione: 80
  2. Apri http://localhost:8080 nel tuo browser
  3. Vedi l'applicazione web in esecuzione sul server remoto

Port Forwarding Remoto

Configurazione

Tipo: Remoto
Porta Remota: 8080
Host Locale: localhost
Porta Locale: 3000

Questo crea un tunnel dove:

  • Il server remoto ascolta sulla porta 8080
  • Il traffico viaggia attraverso la connessione SSH
  • Arriva a localhost:3000 sulla tua macchina

Esempio: Esporre App di Sviluppo

Per permettere al server remoto di accedere alla tua app locale:

  1. Crea un port forward remoto:
    • Porta Remota: 8080
    • Host Locale: localhost
    • Porta Locale: 3000
  2. Sul server remoto, accedi a localhost:8080
  3. Il traffico viene tunnelizzato alla tua app di sviluppo locale

Port Forwarding Dinamico

Configurazione

Tipo: Dinamico
Porta Locale: 1080

Questo crea un proxy SOCKS su localhost:1080.

Usare il Proxy SOCKS

Configura le applicazioni per usare:

  • Proxy: localhost:1080
  • Tipo: SOCKS5

Il traffico sarà instradato attraverso il server SSH.

Gestire i Port Forward

Visualizzare Forward Attivi

  1. Clicca sull'icona Port Forward nella connessione attiva
  2. Vedi la lista di tutti i forward attivi
  3. Ogni forward mostra porte e stato

Fermare un Port Forward

  1. Apri la lista dei port forward
  2. Trova il forward da fermare
  3. Clicca sul pulsante di chiusura/stop
  4. Il tunnel viene chiuso

Forward Automatici

Per avviare automaticamente i port forward alla connessione:

  1. Modifica la connessione SSH
  2. Aggiungi i port forward nelle impostazioni della connessione
  3. I forward si avvieranno automaticamente alla connessione

Scenari Comuni

Database Dietro Firewall

Tipo: Locale
Porta Locale: 5432
Host Destinazione: database.internal
Porta Destinazione: 5432

Accedi a un server PostgreSQL interno attraverso un jump server.

Pannello di Amministrazione

Tipo: Locale
Porta Locale: 8443
Host Destinazione: admin.internal
Porta Destinazione: 443

Accedi a pannelli admin che sono solo sulla rete interna.

Accesso Redis

Tipo: Locale
Porta Locale: 6379
Host Destinazione: redis.internal
Porta Destinazione: 6379

Connettiti a istanze Redis su reti private.

Risoluzione Problemi

Porta Già in Uso

Se vedi "porta già in uso":

  1. Scegli una porta locale diversa
  2. Trova e termina il processo che usa quella porta
  3. Su macOS/Linux: lsof -i :PORTA per trovare il processo

Connessione Rifiutata

Se la connessione è rifiutata:

  1. Verifica che il servizio di destinazione sia in esecuzione
  2. Verifica l'host e la porta di destinazione
  3. Controlla le regole del firewall sul server remoto
  4. Assicurati che la connessione SSH sia attiva

Tunnel che Si Disconnette

Se i tunnel si disconnettono:

  1. Controlla la stabilità della connessione SSH
  2. Abilita keep-alive nelle impostazioni della connessione
  3. Monitora i log di rete

Permesso Negato

Per il port forwarding remoto, il server potrebbe richiedere:

  • Opzione GatewayPorts yes in sshd_config
  • Permessi appropriati per il binding delle porte