Immaginiamo uno scenario in cui un utente ha due computer, denominati rispettivamente PC1 e PC2, collocati in due località distinte, come ad esempio l'ufficio o la propria abitazione. Questi computer, collegati a Internet tramite router, necessitano di comunicare tra loro attraverso una connessione cifrata e sicura. Questo articolo guiderà il lettore attraverso i passaggi necessari per configurare correttamente un tunnel SSH, garantendo l'integrità e la riservatezza dei dati scambiati tra i due terminali, e fornendo una soluzione robusta per accedere a servizi remoti come se fossero locali.

Per creare un tunnel SSH tra due computer situati in luoghi diversi, seguire questi passaggi dettagliati:
Installazione del server SSH: Assicurati che entrambi i computer abbiano il server SSH installato e attivo. Per questo passaggio vi rimando alla sezione Realizzare un server SSH in cui viene trattata tutta la parte dall'installazione all'esecuzione del server SSH.
Indirizzo IP pubblico per il PC2: Ottieni l'indirizzo IP pubblico di PC2. Puoi trovare l'IP pubblico cercando "qual è il mio IP" su Google mentre sei su PC2.
Port forwarding sul router del PC2: Configura il port forwarding sul router di PC2 per inoltrare le richieste SSH (porta 22) all'indirizzo IP locale di PC2.

Accedi all'interfaccia web del router di PC2 e cerca l'opzione di port forwarding. Imposta una regola per inoltrare le connessioni in entrata sulla porta 22 all'indirizzo IP locale di PC2. Questo passaggio varia in base al modello del router, quindi consulta il manuale del tuo router per istruzioni dettagliate. Per approfondire l'argomento consiglio di leggere la nostra guida Come configurare il Port Forwarding.

Connettiti dal PC1 al PC2 utilizzando SSH: Sul PC1, apri un terminale e inserisci il comando seguente:
Sostituisci:ssh -L [porta_locale]:localhost:[porta_remota] utente@indirizzo_ip_pubblico_PC2
- porta_locale con la porta che vuoi utilizzare localmente su PC1 (ad esempio, 8080).
- porta_remota con la porta del servizio a cui vuoi accedere su PC2 (ad esempio, 22 per un'ulteriore connessione SSH o un'altra porta specifica di un servizio).
- utente con il nome utente utilizzato per accedere a PC2.
- indirizzo_ip_pubblico_PC2 con l'indirizzo IP pubblico di PC2.
Codice: Seleziona tutto
ssh -L 8080:localhost:22 utente@123.123.123.123
Codice: Seleziona tutto
ssh -p 8080 utente@localhost
Considerazioni di Sicurezza
Utilizzo delle chiavi SSH: Utilizza chiavi SSH per l'autenticazione invece delle password per una maggiore sicurezza.
Configurazione del firewall: Assicurati che il firewall sul router e su PC2 permetta le connessioni in ingresso sulla porta 22.
Indirizzo IP statico o DDNS: Se l'indirizzo IP pubblico di PC2 cambia frequentemente, considera l'uso di un servizio di DNS dinamico (DDNS) per avere un hostname che si aggiorna automaticamente con il nuovo IP.
Seguendo questi passaggi, sarai in grado di creare un tunnel SSH tra i due computer, garantendo un accesso sicuro e affidabile ai servizi remoti come se fossero locali.