sshuttle is an application that lets you use an SSH connection as a VPN. Unlike the SOCKS proxy that comes with the OpenSSH client (the -D option), sshuttle doesn’t require you to change the proxy settings of every program you use. It forwards all packets using iptables, and handles those connection on the server by opening Python prompts and uploading its code there.

To use sshuttle, you don’t need to be admin on the server. The only dependency is having Python on both sides. It works out-of-the-box with an AWS EC2 instance with Amazon Linux, so you can easily script this to create VPNs.

When you forward all connections, don’t forget to exclude the IP of the server with the -x switch.

Example snippet

sshuttle --dns -v -r ec2-user@example.com 0/0 -x 54.87.121.135

Documentation