Mac: VPN over SSH using sshuttle


Summary:
Sometimes it's simply easier to run or do things from your local system rather than rely on a bastion/jumphost.  sshuttle allows you to utilize a Linux bastion/jumphost as a psuedo VPN endpoint.

Full documentation and source can be found here:
http://sshuttle.readthedocs.io/en/stable/manpage.html
https://github.com/apenwarr/sshuttle

Walkthrough:
Brew is probably the easiest installation method and less prone to complications by using pip.  So that's what I'll go through here:

  1. Launch Terminal
  2. brew install sshuttle
  3. sshuttle -r usernameonLinuxSSHhost@LinuxSSHhostnameorIP 192.168.50.0/24
Done.  Easy right?  Now upon successful connection, all traffic bound for an ip on 192.168.50.0/24 will tunnel through your Linux SSH host.  

Additional Notes:
Remember to kill your session when done.  I've heard of reports that sshuttle having memory leaks or whatnot causing RAM to fill up.  Killing terminal session should kill it, but you may need to kill in activity monitor.

This type of tunneling can also be done on Windows via SOCKS5 proxying.  You can find details on how to do that here:
https://www.digitalocean.com/community/tutorials/how-to-route-web-traffic-securely-without-a-vpn-using-a-socks-tunnel

Handy Firefox add-on for selective proxying:
https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/


Comments

Popular posts from this blog

Macbook Pro OSX 10.5.x Sprint Blackberry 8830 Data Tethering

Misc: Fire TV Stick 2 Screen Cut Off, no display adjustment option

PowerCLI: The SSL connection could not be established, see inner exception.