Come tunnel una port locale su un server remoto

Ho un dominio che ho comprato da DynDNS. Ho puntato il dominio al mio indirizzo IP in modo da poter eseguire server. Il problema che ho è che non vivo vicino al computer server … Posso usare un tunnel ssh? Come lo capisco, questo mi permetterà di accedere ai miei server. Voglio che il computer remoto dirige il traffico dalla port 8080 sopra il tunnel ssh al client ssh, come port 80 del mio computer porttile. È ansible?

Questo è in realtà abbastanza facile da realizzare, anche se è piuttosto sepolto nella documentazione ssh. Assumendo OpenSSH, la syntax di base è la seguente:

ssh -R 8080:localhost:80 -N [email protected] 

Questo aprirà una presa di ascolto sulla port 8080 del tuo server.dyndns.org e tutte le connessioni che vengono eseguite su your-server.dyndns.org:8080 verranno inoltrate sul tunnel SSH al computer che ha aperto tale connessione SSH , e da qui verrà indirizzato a localhost:80 .

L'opzione -N SSH di non aprire una shell o qualsiasi altra cosa, solo per stabilire l'inoltro della port, in modo da poterlo submit in background e lasciarlo funzionare.

Putty usa quasi la stessa syntax, ma avvolti in una sorta di GUI. Il principio è lo stesso però.

Ma fai attenzione a quello che fai. Dato che tu stai essenzialmente in fungo di traffico esterno nella tua networking, stai spingendo un buco nel firewall della tua networking. Se non è la tua networking, il tuo amministratore può opporsi a questo e ti rende responsabili: di solito c'è un motivo per cui non è consentito un certo tipo di traffico.

Per essere in grado di inoltrare la port locale 80 non solo all'interface di loopback (127.0.0.1) è necessario configurare GatewayPorts clientspecified in /etc/ssh/sshd_config in primo luogo sulla macchina remota.

Inoltra quindi il tuo porto con:

 ssh -R 0.0.0.0:8080:localhost:80 -N [email protected]