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
- Connettiti a un server via SSH
- Clicca sull'icona Port Forward nella barra del terminale
- Seleziona il tipo di forwarding
- Inserisci le porte e gli host
- Clicca su Crea
Dalle Impostazioni della Connessione
- Modifica una connessione SSH
- Vai alla sezione Port Forwarding
- Clicca su Aggiungi Port Forward
- Configura le impostazioni
- Salva la connessione
Configurazione Port Forward
| Campo | Descrizione |
|---|---|
| Tipo | Locale, Remoto o Dinamico |
| Porta Locale | Porta sulla tua macchina |
| Host Destinazione | Host a cui connettersi (per locale/remoto) |
| Porta Destinazione | Porta 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:3306sulla tua macchina - Il traffico viaggia attraverso la connessione SSH
- Arriva a
localhost:3306sul server remoto
Esempio: Database MySQL
Per accedere a MySQL su un server remoto:
- Crea un port forward locale:
- Porta Locale:
3306 - Host Destinazione:
localhost - Porta Destinazione:
3306
- Porta Locale:
- Connettiti al tuo client MySQL usando
localhost:3306 - Il traffico è tunnelizzato in modo sicuro al server remoto
Esempio: Applicazione Web
Per accedere a un'app web su una porta remota:
- Crea un port forward locale:
- Porta Locale:
8080 - Host Destinazione:
localhost - Porta Destinazione:
80
- Porta Locale:
- Apri
http://localhost:8080nel tuo browser - 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:3000sulla tua macchina
Esempio: Esporre App di Sviluppo
Per permettere al server remoto di accedere alla tua app locale:
- Crea un port forward remoto:
- Porta Remota:
8080 - Host Locale:
localhost - Porta Locale:
3000
- Porta Remota:
- Sul server remoto, accedi a
localhost:8080 - 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
- Clicca sull'icona Port Forward nella connessione attiva
- Vedi la lista di tutti i forward attivi
- Ogni forward mostra porte e stato
Fermare un Port Forward
- Apri la lista dei port forward
- Trova il forward da fermare
- Clicca sul pulsante di chiusura/stop
- Il tunnel viene chiuso
Forward Automatici
Per avviare automaticamente i port forward alla connessione:
- Modifica la connessione SSH
- Aggiungi i port forward nelle impostazioni della connessione
- 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":
- Scegli una porta locale diversa
- Trova e termina il processo che usa quella porta
- Su macOS/Linux:
lsof -i :PORTAper trovare il processo
Connessione Rifiutata
Se la connessione è rifiutata:
- Verifica che il servizio di destinazione sia in esecuzione
- Verifica l'host e la porta di destinazione
- Controlla le regole del firewall sul server remoto
- Assicurati che la connessione SSH sia attiva
Tunnel che Si Disconnette
Se i tunnel si disconnettono:
- Controlla la stabilità della connessione SSH
- Abilita keep-alive nelle impostazioni della connessione
- Monitora i log di rete
Permesso Negato
Per il port forwarding remoto, il server potrebbe richiedere:
- Opzione
GatewayPorts yesin sshd_config - Permessi appropriati per il binding delle porte