--- layout: post status: publish published: true title: ! 'sshsplit: a dynamic tunnel multiplexer' wordpress_id: 228 wordpress_url: http://pro.grammatic.org/post-sshsplit-a-dynamic-tunnel-multiplexer-74.aspx date: !binary |- MjAxMC0wMy0wMiAxMzoxMTozNCArMDEwMA== date_gmt: !binary |- MjAxMC0wMy0wMiAxMzoxMTozNCArMDEwMA== categories: - Technology - InfoSec tags: - sshsplit - privacy - ssh - software comments:  ---
sshsplit is a GPL-3 licensed application that multiplexes ssh dynamic tunnels.
For example, you might normally run:
ssh -D 54321 remote-host
to get a tunnel on 127.0.0.1:54321 that goes through remote-host.
However, if you are using a network-resource-intensive application (torrent clients for example), this single tunnel will not suffice for, say, 1000 concurrent connections.
sshsplit launches several instances of the ssh dynamic tunnel and then load balances between them.
If no arguments are passed, sshsplit launches the configuration GUI. Otherwise, for help, run: sshsplit -h
sshsplit can also be configured to use any binary you would like and you can suppress the default arguments it passes (-ND
The code, my first effort in python, is available at the sshsplit launchpad home.
There is also a ppa that you can use to install sshsplit on Ubuntu machines on my launchpad page.
Please report any bugs to launchpad!