I have 3 machines that are connected as a chain, A,B,C.
A-->B-->C
A is my machine, B is server, and C is other machine with some services and web server on it.
Because of some issues I need access from A to webserver on C (port 80),
I can use ssh to login from A to B and then from B to C, but console at this moment is too less. I need web browser, and using ssh with option -X
didn't work (some issues with dbus with Firefox start).
I make port forwarding on B using classic command to forward 22 port for ssh:
ssh -L 2222:localhostB:22 user@ipC
but using same to forward port 80 didnt work:
ssh -L 8888:localhostB:80 user@ipC
I know that there is some other forwarding to make it work, but I didn't understand how and what.
I need something like this:
A --> B (frd from B:8888 to C:80) --> C (port 80 web server)
so as effect when I type ipB:8888 I will be forwarded to C:80.
Any help as explain what have to be done, or scripts with command will be appreciated. I notice from one blog that it must be done two times ssh -L
forwarding done, but I didn't understand why.
Best Answer
You're on the right track.
On A:
Will make the web server on C accessible via localhost:8888 on A
A bit more details at the OPs request:
I've assumed from your question that you want to access the webserver of C on A (I'm guessing you have a GUI environment on A, with a web browser).
You can't access C directly (for whatever reason), but you can access B, which in turn can access C. So we create a tunnel between A and B, asking B to attach its end of the tunnel to the webserver on C