SSH tunnelling for fun and profit: local vs remote

When it comes to the art of SSH tunnelling, there are basically two options where to relay a port to.

You can relay a port from a remote server to your local machine with `ssh -L`, hence called local port forwarding. A very basic use-case is if your remote server has a MySQL database daemon listening on port `3306` and you want to access this daemon from your local computer.

The second option is to make your local port available on a remote server (`ssh -R`). Remote port forwarding might come in handy if you for example want to make your local web-server available on a port of a public server, so that someone can quickly check what your local web-server provides without having to deploy it somewhere publicly.