To use the feature SSH Port Forwarding you must enable AllowTcpForwarding on your sshd_config
To enable Remote Forwarding outside the server machine, you must enable GatewayPorts on your sshd_config
or strict all except an IP address
ssh -R 12345:localhost:80 server.tutorialspots.com
ssh -R 18.104.22.168:12345:localhost:80 server.tutorialspots.com
only connections from the IP address 22.214.171.124 to port 12345 are allowed.
ssh -L 80:myweb.tutorialspots.com:80 server.tutorialspots.com
This example opens a connection to the server.tutorialspots.com jump server, and forwards any connection to port 80 on the local machine to port 80 on myweb.tutorialspots.com.
You can specify a bind address:
ssh -L 127.0.0.1:80:myweb.tutorialspots.com:80 server.tutorialspots.com
Dynamic Port Forwarding allows a communication not on a single port, but across a range of ports. This port forwarding is created using -D parameter. This option will make SSH acts as a SOCKS proxy server. SOCKS5 is an internet protocol which routes packets between a server and a client using a proxy server.
ssh -v -D 12345 email@example.com
Now you have a Socks5: