I use sshuttle (https://github.com/apenwarr/sshuttle).
It is super flexible and works as a poor man's VPN.
It also has much better performance when used over a flaky connection because it doesn't do TCP-over-TCP.
It doesn't really create a persistent tunnel like this thingy, but it seems worth mentioning to people who might find autossh interesting.