Come utilizzare il tunnel SSH inverso per consentire connessioni esterne al PC

Come utilizzare il tunnel SSH inverso per consentire connessioni esterne al PC

Se sei abbastanza fortunato da chiedere al tuo provider di servizi Internet (ISP) di fornire un indirizzo IP dedicato, puoi configurare un server domestico e renderlo disponibile su Internet aggiungendo alcune regole di port forwarding al router. Ma se il tuo ISP ti obbliga a condividere quell'IP con i tuoi vicini, il port forwarding non sarà d'aiuto. Altri provider bloccano semplicemente le connessioni in entrata tramite regole firewall.

Gli utenti possono superare tutte queste restrizioni con l'aiuto di server privati ​​virtuali. Tutto funzionerà con meno di 512 MB di RAM, perché tutto ciò che dovrà fare è reindirizzare il traffico di rete. Non consuma molta RAM e CPU. Il server riceverà le connessioni in entrata e le reindirizzerà al computer attraverso un “ tunnel SSH inverso ”. In questo modo puoi configurare qualsiasi tipo di server domestico, con un costo mensile molto contenuto.

Immagina di creare un server NextCloud per caricare o sincronizzare file. Proteggerai la privacy dei tuoi file quando si trovano sul tuo server di casa e, se necessario, potrai acquistare un disco rigido da 6 TB per aumentare la capacità di archiviazione. La bolletta elettrica mensile è inferiore a $ 5 al mese (115.000 VND) per un server privato virtuale. Più economico della fattura mensile per un server con 6 TB di capacità.

Nota : questo metodo viene utilizzato solo per reindirizzare il traffico di rete TCP. TCP viene utilizzato dal server web (porta 80/tcp). UDP è utilizzato da alcuni (ma non tutti) server di gioco, ad esempio Counter Strike (porta 27015/UDP). È anche possibile il tunneling UDP, ma richiede alcuni accorgimenti.

Consente la connessione esterna al PC

Windows 10 ora ha un client SSH integrato

Non è più necessario utilizzare PuTTY per avviare connessioni SSH. In questo tutorial utilizzeremo il client SSH integrato per configurare il tunnel. Leggi l'articolo: Come installare OpenSSH su Windows 10 di LuckyTemplates per saperne di più.

Preparare il server privato virtuale per la connessione tunnel

Crea un server privato virtuale con il tuo provider preferito. La cosa più importante è scegliere una posizione del server il più vicino possibile per ridurre al minimo la latenza della rete. Prova a configurare il server in modo tale da poter accedere direttamente all'account root, preferibilmente con una chiave SSH, poiché è più sicuro. Ciò è necessario se si desidera che il server "ascolti" le connessioni in entrata sulle porte inferiori a 1024, note anche come porte privilegiate.

Apri il prompt dei comandi (o il terminale se usi Linux) e accedi al server tramite SSH.

Modifica le impostazioni del server OpenSSH:

nano /etc/ssh/sshd_config

Se non hai effettuato l'accesso come root ma come utente normale, dovrai utilizzare questo comando per poter salvare il file:

sudo nano /etc/ssh/sshd_config

Scorri verso il basso fino a trovare la variabile denominata GatewayPorts. Questa riga potrebbe assomigliare a questa:

#GatewayPorts no

Rimuovi # (per cambiarlo da commento a parte del programma) e cambia la riga in:

GatewayPorts yes

Se non riesci a trovare questa riga, scorri fino in fondo e aggiungi tu stesso la riga:

GatewayPorts yes

Come utilizzare il tunnel SSH inverso per consentire connessioni esterne al PC

Premi Ctrl + X , quindi premi y e infine Invio per salvare il file.

Ricaricare il demone SSH in modo che acquisisca le nuove impostazioni.

systemctl reload ssh.service

Esci dalla sessione SSH.

exit

Come impostare un tunnel SSH inverso

I parametri dei comandi sono gli stessi su Linux, Windows e persino BSD. La sintassi generale è:

ssh -R remote_port:host:localport your_username@IP-of-server
  • remote_port dice al server di reindirizzare le connessioni su quella porta.
  • host comunica al server l'indirizzo IP a cui verrà reindirizzata la connessione. 127.0.0.1 verrà utilizzato qui per reindirizzare al computer dell'utente.
  • localport indica a quale porta i pacchetti devono essere reindirizzati. Qui, l'utente deve impostare il numero di porta su cui è “in ascolto” l'applicazione installata sul computer locale.

Ad esempio, per inoltrare tutte le connessioni sulla porta 80 (al server) e inviarle alla porta 8080 sul computer locale, il comando sarebbe:

ssh -R 80:127.0.0.1:8080 [email protected]

Ciò presuppone che tu abbia un server web, come Apache o Nginx, in ascolto sulla porta 8080 localmente. Ma se Apache/Nginx è in ascolto sulla porta predefinita 80, non ci sono problemi a utilizzare la stessa porta due volte nel comando precedente (perché si riferiscono alla porta 80 in un altro server).

ssh -R 80:127.0.0.1:80 [email protected]

A questo punto, se qualcuno inserisce l'indirizzo IP del tuo server privato virtuale nella barra degli indirizzi del proprio browser, la sua connessione verrà reindirizzata e gestita dal tuo computer locale.

Come utilizzare il tunnel SSH inverso per consentire connessioni esterne al PC

Nell'immagine sopra è stato utilizzato un semplice server web per Chrome che per impostazione predefinita è in ascolto sulla porta 8887. Gli utenti possono provare personalmente questa configurazione installando l'app e quindi utilizzando il comando, come mostrato nell'immagine.

Vale la pena ricordare che per mantenere attivo il tunnel, la sessione SSH deve rimanere attiva. Per chiudere il tunnel, inserisci exit in una finestra del terminale o del prompt dei comandi.

Come puoi vedere, non è difficile creare un tunnel SSH inverso, ma proteggere un sito web è diverso. Quindi, se scegli di implementare un'idea come un server NextCloud locale, isolala almeno in una macchina virtuale. In questo modo, se il sito web viene violato, almeno il resto del sistema operativo non verrà danneggiato.

E un'altra cosa importante da ricordare è sostenere sempre ciò che non vuoi rischiare di perdere!

Spero che tu abbia successo.


Come verificare se Modern Standby è connesso o disconnesso in Windows 10

Come verificare se Modern Standby è connesso o disconnesso in Windows 10

Questa guida ti mostrerà come verificare se Modern Standby è connesso o disconnesso al WiFi quando è in modalità standby in Windows 10.

Differenza tra porta WAN e porta LAN

Differenza tra porta WAN e porta LAN

Se guardi il tuo router wireless, potresti vedere le abbreviazioni LAN e WAN, solitamente situate accanto ad alcune porte del dispositivo. LAN sta per Local Area Network e WAN sta per Wide Area Network. Allora qual è la differenza tra questi due tipi di porte? Scopriamolo con Quantrimang attraverso il seguente articolo!

Come installare il fantastico tema Doctor Strange su Windows 10/11

Come installare il fantastico tema Doctor Strange su Windows 10/11

Fantastico, fantastico tema Doctor Stranger per Windows 10/11.

Una VPN può proteggerti dai ransomware?

Una VPN può proteggerti dai ransomware?

La VPN è uno strumento popolare per proteggersi online. Pertanto, ti starai chiedendo se possono proteggerti dal ransomware.

Come gestire unenorme cartella WinSxS in Windows 10

Come gestire unenorme cartella WinSxS in Windows 10

Ciò solleva la questione di cosa siano esattamente i file installati in WinSxS e perché sono così grandi. Sveliamo i segreti di WinSxS e come gestire questa cartella attraverso il seguente articolo.

Come impostare password separate per ciascuna applicazione in Windows 10

Come impostare password separate per ciascuna applicazione in Windows 10

A volte ti trovi di fronte a una situazione in cui non vuoi che qualcuno utilizzi una particolare applicazione o gioco sul tuo PC, ma non riesci a trovare alcuna soluzione adatta. Con Windows 10 puoi bloccare facilmente qualsiasi applicazione desideri.

Come aggiungere effetti interessanti alla barra delle applicazioni di Windows 10

Come aggiungere effetti interessanti alla barra delle applicazioni di Windows 10

Se stai cercando di aggiungere effetti interessanti alla barra delle applicazioni, le applicazioni RainbowTaskbar e NiceTaskbar possono aiutarti a farlo.

Come utilizzare il comando format per scrivere 0 sul disco rigido

Come utilizzare il comando format per scrivere 0 sul disco rigido

Un modo semplice per scrivere zero (Write Zero) su un disco rigido per cancellare tutti i dati è formattare l'unità in un modo speciale, utilizzando il comando format dal prompt dei comandi.

Come convertire la struttura dellunità MRB in GPT in Windows 10

Come convertire la struttura dellunità MRB in GPT in Windows 10

Nelle versioni precedenti di Windows, eri costretto a reinstallare l'intero sistema operativo se volevi convertire da Legacy BIOS o Master Boot Record (MBR) a UEFI o GUID Partition Table (GPT).

5 consigli per prevenire le truffe sullo scambio SIM

5 consigli per prevenire le truffe sullo scambio SIM

I numeri delle carte SIM sono una "preda redditizia" per i criminali informatici. Con questa semplice stringa di numeri, gli hacker possono svuotare rapidamente il tuo conto bancario.