0Pricing
Linux Server Deployment & SSH Mastery · Lezione

Tunnel SSH e proxy SOCKS

Create tunnel SSH sicuri per comunicazioni crittografate e configurate un proxy SOCKS per navigare in modo anonimo o aggirare le restrizioni di rete.

Tunnel SSH e proxy SOCKS è una lezione Linux Server Deployment & SSH Mastery gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Linux Server Deployment & SSH Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Server Deployment & SSH Mastery include 4 lezioni in totale.

Introduzione ai tunnel SSH

Benvenuto nei tunnel SSH! Non si tratta di tunnel fisici, ma di connessioni sicure che consentono di inoltrare il traffico di rete attraverso un server SSH.

Immagini di creare un percorso segreto e crittografato attraverso una rete pubblica. Questo percorso Le permette di accedere a servizi che altrimenti potrebbero essere bloccati o non sicuri.

Perché usare i tunnel SSH?

I tunnel SSH sono estremamente versatili per sviluppatori e amministratori di sistema. Consentono di:

  • Superare i firewall: accedere a servizi interni non esposti a Internet.
  • Proteggere il traffico non crittografato: crittografare dati che normalmente viaggerebbero senza protezione, come quelli dei protocolli obsoleti.
  • Accedere a risorse con accesso limitato: raggiungere servizi su una rete privata da una rete pubblica o viceversa.

Spiegazione del port forwarding locale

Il port forwarding locale consiste nel collegare una porta del computer locale a una porta di un computer remoto, tramite il server SSH.

Il server SSH funge da intermediario. L'applicazione locale si connette a una porta locale e SSH inoltra in modo sicuro il traffico all'host e alla porta remoti specificati.

Forwarding locale: il comando

La sintassi per il port forwarding locale è semplice:

ssh -L [local_port]:[remote_host]:[remote_port] [user]@[ssh_server]

Ecco un esempio per accedere a un database in esecuzione su db-server (porta 3306) tramite il server ssh-gateway:

ssh -L 8080:db-server:3306 user@ssh-gateway.com

Forwarding locale: utilizzo pratico

Dopo aver eseguito il comando della scena precedente, può connettere il client di database locale a localhost:8080.

Tutto il traffico inviato a localhost:8080 verrà inoltrato in modo sicuro attraverso ssh-gateway.com a db-server:3306. È molto utile per accedere a database o servizi web privati.

Spiegazione del port forwarding remoto

Il port forwarding remoto è l'opposto del forwarding locale. Consente di esporre un servizio in esecuzione sul computer locale tramite una porta del server SSH remoto.

In questo modo, altre persone possono connettersi a una porta del server SSH remoto e il loro traffico verrà inoltrato in modo sicuro al Suo servizio locale.

Forwarding remoto: il comando

La sintassi per il port forwarding remoto usa l'opzione -R:

ssh -R [remote_port]:[local_host]:[local_port] [user]@[ssh_server]

Supponiamo che Lei abbia un server web in esecuzione localmente sulla porta 8000 e voglia renderlo accessibile ad altri tramite ssh-gateway sulla porta 8888:

ssh -R 8888:localhost:8000 user@ssh-gateway.com

Forwarding remoto: utilizzo pratico

Una volta stabilito il tunnel remoto, chiunque possa raggiungere ssh-gateway.com potrà accedere al Suo server web locale connettendosi a ssh-gateway.com:8888.

È utile per condividere un server di sviluppo locale con i membri del team o per webhook che devono raggiungere il Suo computer.

Proxy SOCKS tramite SSH

Un proxy SOCKS consente di instradare tutto il traffico della Sua applicazione, ad esempio del browser web o del client di chat, attraverso il server SSH. Viene spesso usato per rendere anonima la navigazione o aggirare le restrizioni di rete.

L'opzione -D crea un proxy SOCKS su una porta locale:

ssh -D 9999 user@ssh-gateway.com

Configurare il client per SOCKS

Dopo aver eseguito ssh -D 9999 user@ssh-gateway.com, avrà un proxy SOCKS in esecuzione su localhost:9999.

Configuri quindi il browser web, o un'altra applicazione, per usare localhost come proxy SOCKS5 sulla porta 9999. Da quel momento tutto il traffico Internet dell'applicazione verrà instradato in modo sicuro attraverso il Suo ssh-gateway.

Verifica sui tunnel

Sta cercando di accedere dal computer locale (localhost) a un servizio web interno privato in esecuzione su internal-app.local:80. Dispone dell'accesso SSH a jump-host.com.

Quale comando SSH userebbe per inoltrare la porta locale 8080 al servizio web interno?

Riepilogo di tunnel e proxy

Ha acquisito padronanza dei tunnel SSH! Abbiamo visto:

  • Port forwarding locale (-L): accedere ai servizi remoti dal computer locale.
  • Port forwarding remoto (-R): esporre i servizi locali al server SSH remoto.
  • Proxy SOCKS (-D): instradare tutto il traffico delle applicazioni attraverso il server SSH per tutelare la privacy o aggirare le restrizioni.

Queste tecniche sono strumenti potenti per ottenere un accesso alla rete sicuro e flessibile, sia nello sviluppo sia nell'amministrazione.

Domande Frequenti

La lezione «Tunnel SSH e proxy SOCKS» è gratuita?

Sì — il testo completo di «Tunnel SSH e proxy SOCKS» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Linux Server Deployment & SSH Mastery, passa a CoddyKit PRO. Il corso Linux Server Deployment & SSH Mastery include 4 lezioni in totale.

Cosa imparerò in «Tunnel SSH e proxy SOCKS»?

Create tunnel SSH sicuri per comunicazioni crittografate e configurate un proxy SOCKS per navigare in modo anonimo o aggirare le restrizioni di rete. Eserciti Linux Server Deployment & SSH Mastery con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Linux Server Deployment & SSH Mastery?

Non è richiesta alcuna esperienza precedente. Linux Server Deployment & SSH Mastery su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Tunnel SSH e proxy SOCKS»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Linux Server Deployment & SSH Mastery?

Sì. Ogni lezione Linux Server Deployment & SSH Mastery include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Port forwarding SSH (locale/remoto)
  2. Tunnel SSH e proxy SOCKS
  3. SSH Agent e connessioni multi-hop
  4. Trasferimento sicuro dei file con SCP, SFTP e rsync
← Torna a Linux Server Deployment & SSH Mastery