sshuttle

Transparent proxy that tunnels traffic to a remote network over ssh, acting as a VPN substitute without requiring admin access on the remote side.

sshuttle is a network tool that combines a transparent proxy with ssh to give a client machine access to a remote network, working like a lightweight VPN. It routes traffic for chosen remote subnets through an ssh connection, so you do not need to create a separate ssh port forward for each host and port.

It targets the case where you have ssh access to a remote network but no admin access there, and the network has no VPN or only complex protocols such as IPsec or PPTP. It also avoids openssh's PermitTunnel feature, which is disabled by default on openssh servers and carries TCP-over-TCP, which the README says performs poorly. The README lists Linux, FreeBSD, MacOS and Windows as supported client platforms (the repository description names Linux and MacOS, and mentions DNS tunneling support).

Typical users are developers, sysadmins and network engineers who need to reach internal hosts through an ssh-accessible gateway. The README notes that sshuttle can also be run as a service under a config management system. Installation instructions and details of how it works are in the online documentation at sshuttle.readthedocs.io.

Alternatives & related tools

add a badge to your README

Maintain sshuttle? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/sshuttle.svg)](https://www.trmn.sh/tools/sshuttle?utm_source=badge)
HTML
<a href="https://www.trmn.sh/tools/sshuttle?utm_source=badge"><img src="https://www.trmn.sh/badge/sshuttle.svg" alt="Featured on trmn" height="20"></a>