È prassi comune tra i provider di servizi Internet bloccare la maggior parte, se non tutte le porte in entrata per i propri abbonati domestici, rendendo impossibile la connessione remota al computer di casa tramite HTTP, SSH, FTP, ecc.
In questo tutorial vedremo come evitare queste restrizioni usando una tecnica chiamata Rerverse SSH Tunneling
.
Nota: questo tutorial presuppone che tu stia utilizzando Ubuntu. Tuttavia, i passaggi dovrebbero funzionare per altre distribuzioni Linux.
Prerequisiti:
- Un'istanza del server Ubuntu.
- Un client SSH sul tuo computer locale.
Passaggio 1: configurazione del demone SSH sul server:
Per impostazione predefinita, il demone SSH è in ascolto 127.0.0.1
, quindi non saremo in grado di accedere alle nostre porte inoltrate dall'esterno. Per farlo ascoltare sull'interfaccia connessa a Internet, dobbiamo abilitare l' GatewayPorts
opzione nella configurazione del server SSH.
Apri /etc/ssh/sshd_config
usando il tuo editor di testo preferito.
nano /etc/ssh/sshd_config
Quindi aggiungi GatewayPorts yes
nella parte inferiore del file.
Dopo aver salvato il file, riavvia il daemon SSH:
service ssh restart
Passaggio 2: tunneling:
Se il tuo computer di casa esegue Linux, dovrai utilizzare il ssh
comando come segue:
ssh -R [Port to forward to on your VPS]:localhost:[Port to forward on your local machine] [VPS IP]
Oppure, se hai installato Microsoft Windows sul tuo computer, devi installare plink e connetterti come mostrato di seguito:
plink -R [Port to forward to on your VPS]:localhost:[Port to forward on your local machine] [VPS IP]
In questo esempio, stiamo inoltrando una porta 19132
aperta sul tuo computer di casa per la porta 80
sul tuo server remoto (supponendo che l'indirizzo IP del tuo server sia 192.168.0.1).
ssh -R 80:localhost:19132 192.168.0.1
Ciò ti consentirà di accedere al tuo computer di casa da una posizione remota collegandoti a 192.168.0.1:80
.
Questo conclude il nostro tutorial. Grazie per aver letto.