This is a common trick. Say we have local machine (A), and a remote machine (B). If we can SSH from A→B, we can reroute browser traffic from A to B, much quicker than X-windows.
ssh -vv -ND 8080 root@<B's IP>, then SSH login.
-N: Do not execute a remote command. This is useful for just forwarding ports.`
Specifies a local “dynamic” application-level port forwarding. This works by allocating a socket to listen to port on the local side, optionally bound to the specified bind_address. Whenever a connection is made to this port, the connection is forwarded over the secure channel, and the application protocol is then used to determine where to connect to from the remote machine. Cur‐ rently the SOCKS4 and SOCKS5 protocols are supported, and ssh will act as a SOCKS server. Only root can forward privileged ports. Dynamic port forward‐ ings can also be specified in the configuration file.
IPv6 addresses can be specified by enclosing the address in square brackets. Only the superuser can forward privileged ports. By default, the local port is bound in accordance with the GatewayPorts setting. However, an explicit bind_address may be used to bind the connection to a specific address. The bind_address of “localhost” indicates that the listening port be bound for local use only, while an empty address or ‘*’ indicates that the port should be available from all interfaces.
On A, open Firefox, and setup proxy as shown below:
Manual proxy configuration
localhost, and port to
8080(whatever the port you set above).
No proxy for, because sometimes
127.0.0.1are listed. We want to use
This is it. Then anything on this browser will be routed to localhost
port 8080, which by the
ssh, will be forwarded to B.
— by Feng Xia