Tunnel SSH: instradare tutto il traffico Android tramite un tunnel sicuro

Questo articolo mostra come instradare tutto il traffico dati del tuo dispositivo Android attraverso un tunnel SSH sicuro usando l’app gratuita SSH Tunnel for Android. Spieghiamo prerequisiti, configurazione passo passo, suggerimenti per chiavi SSH, opzioni avanzate, test e risoluzione dei problemi. Include checklist, metodologie, e consigli di sicurezza per proteggere la privacy in mobilità.
Collegamenti rapidi
- Cosa ti serve
- Scaricare e configurare SSH Tunnel per Android
- Testare la connessione SSH
- Opzioni avanzate e alternative
- Controlli di sicurezza e privacy
- Risoluzione dei problemi e casi di test
- Checklist per diversi ruoli
- Glossario e riepilogo
Perché usare un tunnel SSH
Un tunnel SSH cifra il traffico tra il tuo telefono e un server che controlli, impedendo agli osservatori sulla rete locale (ad esempio reti Wi‑Fi pubbliche o l’operatore mobile) di leggere il contenuto delle comunicazioni. È utile per:
- Proteggere login e dati sensibili quando sei su reti non affidabili.
- Bypassare censura e filtri locali instradando il traffico attraverso un nodo esterno.
- Avere un punto di uscita fisso con indirizzo IP noto.
Definizione rapida: SSH è un protocollo di rete che crea un canale cifrato punto a punto tra client e server per comandi remoti e per il tunneling di traffico.
Important: un tunnel SSH cifra il trasporto fino al server SSH. Il contenuto scambiato tra il server SSH e la destinazione finale resta soggetto alle regole di quella rete, quindi usa HTTPS quando possibile.
Cosa ti serve
- Un telefono Android con accesso root. Android 1.6 o superiore è sufficiente, ma usa una versione moderna per motivi di sicurezza. Root è necessario perché l’app modifica le impostazioni di routing del dispositivo.
- L’app gratuita SSH Tunnel for Android installata sul dispositivo.
- Un server SSH raggiungibile da Internet o dalla tua rete domestica con credenziali d’accesso. Può essere un router con server SSH integrato, un VPS o un server dedicato.
Nota importante: se non hai rootato il telefono, questa guida non funzionerà così com’è. Consulta una guida affidabile sul rooting per il tuo modello. Se non vuoi rootare, considera alternative come VPN o WireGuard descritte più avanti.
Scaricare e configurare SSH Tunnel per Android
- Scarica SSH Tunnel for Android dal Google Play Store oppure installa l’APK manualmente se non hai accesso al Play Store. Mantieni l’apk nella sua posizione originale se lo usi.
- Apri l’app per la configurazione iniziale. Alla prima apertura non attivare il tunnel: dobbiamo inserire i dati di connessione prima.
Impostare host e porta SSH
- Vai su Impostazioni SSH Tunnel o SSH Tunnel Settings.
- Inserisci l’indirizzo IP o il nome host del server SSH e la porta. Porta predefinita SSH: 22. Se il tuo server usa una porta diversa, inseriscila.
Account e autenticazione
- Inserisci username e password per l’account SSH. Questo abilita l’accesso con password.
- Per maggiore sicurezza usa una coppia di chiavi SSH invece della password.
Se usi chiavi:
- Genera una coppia pubblica/privata su una macchina sicura (vedi sezione Generare chiavi più avanti).
- Copia la chiave pubblica sul file authorized_keys del tuo account sul server SSH.
- Copia la chiave privata sul telefono nella cartella /sdcard/sshtunnel/key/ con estensione .ppk. Il nome può essere, per esempio, HomeRouter.ppk.
Mantieni la path esatta: /sdcard/sshtunnel/key/
Per usare la chiave nell’app:
- Apri il menu dell’app e scegli Key File Manager.
- Naviga fino a /sshtunnel/key/ e seleziona il file .ppk corrispondente.
Consiglio pratico: nomina le chiavi con il servizio corrispondente, per esempio HomeRouter.ppk o OfficeVPN.ppk, se prevedi profili multipli.
Abilitare il proxy SOCKS
Nel pannello Port Forwarding abilita Use socks proxy. Questo apre un server SOCKS locale sul telefono che instrada il traffico attraverso il tunnel SSH. Molte app supportano SOCKS direttamente, e per le app che non lo fanno l’app può applicare il proxy a livello di sistema se il dispositivo è rootato.
Global Proxy vs Proxy individuale
- Global Proxy abilita il proxy per tutto il traffico del telefono.
- Individual Proxy ti permette di selezionare singole app da instradare tramite il tunnel.
Scegli Global Proxy se vuoi che tutto il dispositivo passi per il server SSH. Scegli Individual Proxy per testare o per proteggere solo alcune app.
Funzionalità aggiuntive
Nelle impostazioni trovi varie opzioni locali:
- Auto Connect: connessione automatica quando il server è disponibile.
- Auto Reconnect: riconnessione automatica in caso di caduta del collegamento.
- Enable GFW List: filtraggio mirato per domini bloccati dalla censura (utile in paesi con firewall governativi).
- Enable DNS Proxy: instrada le richieste DNS attraverso il server SSH. Consigliato perché evita fughe DNS non cifrate.
Nota: se disabiliti il DNS Proxy, i DNS saranno risolti dalla connessione dati locale e potrebbero rivelare i siti visitati.
Generare chiavi SSH in breve
Se non hai una coppia di chiavi:
- Su Linux o macOS: usa ssh-keygen -t rsa -b 4096 -f id_rsa_nome
- Su Windows: usa PuTTYgen per creare una coppia RSA/Ed25519 e salva la chiave privata in formato .ppk se l’app lo richiede.
Copia la chiave pubblica (~/.ssh/id_rsa.pub o equivalente) nel file ~/.ssh/authorized_keys dell’account server. Imposta permessi 700 sulla cartella ~/.ssh e 600 su authorized_keys.
Importante: non condividere la chiave privata. Conserva backup in un luogo sicuro e usa passphrase sulla chiave privata quando possibile.
Testare la connessione SSH Tunnel
- Prima di attivare il tunnel apri il browser e cerca “what is my ip” per vedere l’indirizzo pubblico assegnato al tuo dispositivo mobile.
- Apri SSH Tunnel e abilita Tunnel Switch. Alla prima attivazione l’app richiederà i permessi di root/SuperUser. Concedili e abilita Remember per evitare richieste future.
- Attendi la connessione: l’app notificherà che il tunnel è attivo. Se hai lasciato le notifiche abilitate vedrai un’icona nella barra delle notifiche.
- Torna al browser e aggiorna la pagina “what is my ip”. Dovresti vedere l’indirizzo IP del server SSH come IP pubblico attuale. Se vedi ancora l’IP del tuo provider mobile, il tunnel non è attivo o non è configurato come Global Proxy.
Successo: il traffico del browser è ora instradato attraverso il server SSH e cifrato tra il telefono e il server.
Checklist rapida prima della connessione
- Server SSH raggiungibile da Internet o dalla rete in cui ti trovi.
- Credenziali o chiave privata presenti sul telefono.
- Permessi di root concessi all’app SSH Tunnel.
- Enable DNS Proxy attivo per evitare fughe DNS.
- Global Proxy o app selezionate configurate correttamente.
Risoluzione dei problemi comune
Problema: il tunnel non si connette
- Verifica host e porta: prova a connetterti al server SSH da un computer remoto con ssh user@host -p port.
- Controlla firewall/server: assicurati che il server SSH accetti connessioni dall’esterno.
- Verifica permessi root: concedi i permessi alla prima richiesta SuperUser.
- Guarda il log dell’app per messaggi di errore.
Problema: IP non cambia dopo l’attivazione
- Controlla che Global Proxy sia attivo se vuoi instradare tutto il traffico.
- Verifica che il tunnel SOCKS sia abilitato.
- Se usi Individual Proxy, assicurati di aver selezionato le app corrette.
Problema: perdite DNS
- Abilita Enable DNS Proxy per instradare le risoluzioni DNS attraverso il server SSH.
- In alternativa, imposta manualmente DNS risolutori sicuri sul server o usa DNS-over-HTTPS dal server.
Problema: alcune app non funzionano attraverso il proxy
- Alcune app usano binding di basso livello o tecniche proprie di rete; considera Global Proxy per una copertura più ampia.
- Come alternativa, installa app compatibili con SOCKS o configura il browser per usare il proxy locale.
Sicurezza e hardening
- Usa chiavi SSH con passphrase invece della sola password.
- Abilita l’autenticazione a chiave sul server e disabilita l’autenticazione con password se possibile.
- Mantieni aggiornato il server SSH e il firmware del router.
- Limita gli indirizzi IP ammessi nel firewall del server se conosci da dove ti connetti frequentemente.
- Usa algoritmi moderni (Ed25519 o RSA 4096) per le chiavi.
- Modifica la porta SSH solo se necessario; non è una difesa forte ma può ridurre il rumore d’attacco automatico.
Nota importante: se il tuo server si trova in una giurisdizione con obblighi di registrazione o con controllo governativo, considera i rischi legali e operativi.
Privacy e conformità GDPR
- Il tunnel SSH cifra i dati in transito fra dispositivo e server, ma il server stesso vede il traffico in chiaro se la destinazione non usa HTTPS.
- Se gestisci i log del server per motivi di sicurezza, valuta la retention minima necessaria e anonimizza dove possibile per rispettare principi GDPR se tratti dati di persone nell’UE.
- Informazioni personali o credenziali non dovrebbero essere conservate in chiaro sui log.
Alternative e quando il metodo non è adatto
Alternative:
- VPN commerciale o self-hosted: più semplice per utenti non root, spesso con client ufficiali.
- WireGuard: migliore performance e semplicità di configurazione su dispositivi moderni.
- Shadowsocks: soluzione leggera per aggirare censura in paesi con filtri aggressivi.
Quando non usare SSH Tunnel:
- Se non vuoi o non puoi rootare il dispositivo.
- Se hai bisogno di performance molto elevate per streaming o gaming.
- Se vuoi un client facile da gestire e con supporto multipiattaforma nativo.
Decisione rapida: se preferisci controllo granulare e hai root, SSH Tunnel è valido. Se cerchi facilità, usa VPN o WireGuard.
Metodologia consigliata per la configurazione sicura
- Preparazione server: aggiorna OS, abilita autenticazione a chiave, limita accesso SSH.
- Generazione chiavi: crea coppia con passphrase su macchina sicura.
- Deploy chiave pubblica su server e impostazione permessi.
- Trasferimento chiave privata al telefono in /sdcard/sshtunnel/key/ con attenzione alla sicurezza del file.
- Configurazione SSH Tunnel: host, porta, account, abilitare SOCKS e DNS Proxy.
- Test: verifica IP e routing, esegui test di perdite DNS.
- Automazione: abilita Auto Connect e Auto Reconnect se desiderato.
- Monitoraggio: verifica periodicamente log e aggiornamenti.
Playbook rapido per connettersi in viaggio
- Prima di partire: testa il tunnel da una rete esterna e verifica l’accesso remoto al server.
- Sul dispositivo: assicurati che la batteria non sia in modalità risparmio aggressiva che blocca connessioni di rete.
- Connessione: attiva Tunnel Switch e conferma l’IP pubblico.
- In caso di problemi: prova a riavviare l’app, poi il telefono; come ultimo tentativo riavvia il server SSH.
Casi di test e criteri di accettazione
Casi di test essenziali:
- Connessione con autenticazione a password: il tunnel si stabilisce e il traffico HTTP e HTTPS passa attraverso il server.
- Connessione con chiave privata: il tunnel stabilito senza richiesta di password utente e con log minimal.
- DNS Proxy abilitato: verificare che le query DNS provengano dal server (tool online per leak test).
- Auto Reconnect: interrompi la connessione di rete e verifica che il tunnel si ristabilisca automaticamente.
Criteri di accettazione:
- L’indirizzo IP rilevato dal browser deve essere quello del server SSH.
- Nessuna perdita DNS deve mostrare richieste dal provider mobile.
- Le app selezionate tramite Individual Proxy devono instradare correttamente il traffico.
Checklist per ruolo
Utente principiante
- Root sul dispositivo verificato.
- App installata e aggiornata.
- Credenziali testate su computer prima di trasferire sul telefono.
- Abilitato DNS Proxy e SOCKS.
Amministratore di sistema
- Server SSH aggiornato con chiavi ed eventuale fail2ban.
- Log disciplinati con retention minima e controlli di accesso.
- Backup della chiave privata e delle impostazioni critiche sul server.
Viaggiatore o giornalista
- Abbonamento dati sufficiente e piano di roaming chiaro.
- Piano di emergenza per cambiare server in caso di blocco.
- Routine per verifica periodica del tunnel durante il viaggio.
Esempi di comandi utili sul server
- Controllare utenti SSH con login recente: lastlog o last
- Vedere connessioni attive SSH: ss -tnp | grep sshd
- Grep su authorized_keys per una chiave specifica: grep “
” ~/.ssh/authorized_keys
Diagramma decisionale per scegliere la soluzione di tunneling
flowchart TD
A[Hai accesso root sul dispositivo?] -->|Sì| B{Vuoi massimo controllo?}
A -->|No| C[Usa VPN o WireGuard senza root]
B -->|Sì| D[Usa SSH Tunnel con Global Proxy]
B -->|No| E[Usa VPN o proxy per singole app]
D --> F{Hai un server SSH?}
F -->|Sì| G[Configura SSH Tunnel e chiavi]
F -->|No| H[Configura un VPS o usa VPN commerciale]
Esempi di configurazione rapida
- Nome host: ssh.example.com
- Porta: 22
- Username: mio_utente
- Key: /sdcard/sshtunnel/key/HomeRouter.ppk
- Use socks proxy: attivato
- Global Proxy: attivato
- Enable DNS Proxy: attivato
Considerazioni sulla compatibilità e migrazione
- Alcune versioni Android molto vecchie potrebbero non gestire correttamente il routing di sistema; testa su una VM o un dispositivo secondario.
- Se passi a WireGuard o VPN, prepara una lista di app critiche e comportamenti attesi perché il cambio di tecnologia può modificare le performance e la compatibilità.
Domande frequenti
Il tunnel SSH rallenta la connessione?
Sì, l’incapsulamento e la distanza verso il server possono introdurre latenza. In genere la degradazione è accettabile per navigazione e email; per streaming ad alta qualità valuta soluzioni con migliore throughput come VPN dedicate.
Posso usare il mio router con Tomato o OpenWrt come server SSH?
Sì, molti router con firmware alternativo offrono server SSH integrato. Assicurati di aggiornare il firmware e di proteggere l’accesso SSH.
È legale usare SSH per bypassare filtri nel mio paese?
Le leggi variano. Informati sulle normative locali: in alcune giurisdizioni aggirare filtri può essere illegale.
Glossario in una riga
- SSH: protocollo per connessioni sicure e tunneling.
- SOCKS: protocollo proxy che instrada traffico TCP/UDP.
- DNS Proxy: inoltro delle risoluzioni DNS attraverso il tunnel.
- Key pair: coppia pubblica/privata per autenticazione SSH.
Riepilogo e conclusioni
Usare SSH Tunnel for Android è un modo efficace e controllabile per cifrare il traffico del tuo telefono e migliorare privacy e sicurezza su reti non affidabili. Richiede root e un server SSH, ma offre un controllo granulare e la possibilità di usare chiavi SSH per hardening. Se non puoi o non vuoi rootare, considera VPN o WireGuard come alternative.
Punti chiave:
- Verifica sempre che il DNS sia instradato attraverso il tunnel per evitare leak.
- Preferisci l’autenticazione a chiave con passphrase.
- Tieni il server aggiornato e limita l’accesso per aumentare la sicurezza.
Grazie per aver letto. Segui la checklist prima di connetterti e prova la configurazione in un ambiente di test prima di usarla in produzione.
Domande e risorse utili
- Guida alla generazione di chiavi: usa ssh-keygen o PuTTYgen.
- Se stai usando un router con Tomato o OpenWrt, consulta la documentazione specifica del firmware per l’abilitazione di SSH.
- Per alternative leggere su WireGuard e VPN self-hosted.
FAQ
- Come faccio a rimuovere la chiave dal telefono se il dispositivo viene perso? Rimuovi l’accesso sul server rimuovendo la chiave pubblica da authorized_keys.
- Posso usare questo metodo per accedere a servizi locali in casa? Sì, puoi creare tunnel inversi o utilizzare port forwarding per servizi interni.
Fine dell’articolo
Materiali simili

Word 2010 come editor di blog offline

PV vs Progress: mostrare il progresso delle copie in Linux

Due foto profilo diverse su Facebook

Chiave Mawizeh Slum in Warzone 2 DMZ — dove trovarla

Character design 3D: guida completa
