How to make tunnels in linux without using SSH?

Posted on


I have two machines on my network with IPs of and In the Server, there is an HTTP server running on the lo interface on port 8080 ( which only can be accessed by local users. I want to forward that port to the Client. The only way I found is by through an SSH tunnel.

ssh -L 8080: user@ -N -vv

For this process, I needed to have the password or the private key of that user. Is there an alternative way to make such a tunnel without using the SSH utility assuming that I don't have any kind of credentials but do have access to execute commands on the server? My final goal is to be able to connect to the HTTP server on the at from the client as localhost.


I found a tool called chisel that let me do exactly what I wanted to do.

For this you will have to have some kind of a way to execute commands. I was able to upload the executable file to the server and work with it.

chisel server --reverse --port 9001   # Client side

This will start a reverse proxy and listen on port 9001 for any connections on the client side.

chisel client R:8080: # Server side

By executing this, a connection will be made to the server at the client side and forward the traffic for the specified port(in this case 8080) to the server at the server side.

GNU netcat has this functionality built-in:

nc -L localhost:8080 -p 9001

It seems like the simplest solution that gets the job done.

Leave a Reply

Your email address will not be published. Required fields are marked *