Setting up a VPN typically requires using privileged access on all hosts involved (in order to create virtual network interfaces via TUN/TAP devices), as well as opening up additional VPN ports on any existing firewall. This tutorial describes how to set up a VPN over an existing SSH in Linux, by using a command-line tool called sshuttle.