2010-05-03 03:46:51 +02:00
|
|
|
sshuttle: where transparent proxy meets VPN meets ssh
|
|
|
|
=====================================================
|
2010-05-02 09:42:59 +02:00
|
|
|
|
|
|
|
As far as I know, sshuttle is the only program that solves the following
|
|
|
|
common case:
|
|
|
|
|
2015-11-15 07:17:16 +01:00
|
|
|
- Your client machine (or router) is Linux, FreeBSD, or MacOS.
|
2010-05-03 19:07:30 +02:00
|
|
|
|
2015-11-15 07:17:16 +01:00
|
|
|
- You have access to a remote network via ssh.
|
2010-05-03 19:07:30 +02:00
|
|
|
|
2015-11-15 07:17:16 +01:00
|
|
|
- You don't necessarily have admin access on the remote network.
|
2010-05-03 19:07:30 +02:00
|
|
|
|
2015-11-15 07:17:16 +01:00
|
|
|
- The remote network has no VPN, or only stupid/complex VPN
|
|
|
|
protocols (IPsec, PPTP, etc). Or maybe you *are* the
|
|
|
|
admin and you just got frustrated with the awful state of
|
|
|
|
VPN tools.
|
2010-05-03 19:07:30 +02:00
|
|
|
|
2015-11-15 07:17:16 +01:00
|
|
|
- You don't want to create an ssh port forward for every
|
|
|
|
single host/port on the remote network.
|
2010-05-03 19:07:30 +02:00
|
|
|
|
2015-11-15 07:17:16 +01:00
|
|
|
- You hate openssh's port forwarding because it's randomly
|
|
|
|
slow and/or stupid.
|
2015-11-15 06:45:26 +01:00
|
|
|
|
2015-11-15 07:17:16 +01:00
|
|
|
- You can't use openssh's PermitTunnel feature because
|
|
|
|
it's disabled by default on openssh servers; plus it does
|
2018-12-03 23:48:44 +01:00
|
|
|
TCP-over-TCP, which has `terrible performance`_.
|
|
|
|
|
|
|
|
.. _terrible performance: https://sshuttle.readthedocs.io/en/stable/how-it-works.html
|
2010-05-03 19:07:53 +02:00
|
|
|
|
2015-11-15 06:45:26 +01:00
|
|
|
Obtaining sshuttle
|
|
|
|
------------------
|
2013-01-21 00:00:54 +01:00
|
|
|
|
2020-07-24 17:38:16 +02:00
|
|
|
- Ubuntu 16.04 or later::
|
|
|
|
|
|
|
|
apt-get install sshuttle
|
|
|
|
|
2016-09-01 10:37:39 +02:00
|
|
|
- Debian stretch or later::
|
|
|
|
|
|
|
|
apt-get install sshuttle
|
2019-04-04 02:42:56 +02:00
|
|
|
|
|
|
|
- Arch Linux::
|
|
|
|
|
2019-07-23 22:20:28 +02:00
|
|
|
pacman -S sshuttle
|
2016-09-01 10:37:39 +02:00
|
|
|
|
2019-06-07 16:31:35 +02:00
|
|
|
- Fedora::
|
|
|
|
|
|
|
|
dnf install sshuttle
|
|
|
|
|
2019-10-02 06:34:01 +02:00
|
|
|
- NixOS::
|
|
|
|
|
|
|
|
nix-env -iA nixos.sshuttle
|
|
|
|
|
2016-09-01 10:37:39 +02:00
|
|
|
- From PyPI::
|
|
|
|
|
|
|
|
sudo pip install sshuttle
|
|
|
|
|
|
|
|
- Clone::
|
|
|
|
|
|
|
|
git clone https://github.com/sshuttle/sshuttle.git
|
2018-02-14 11:50:04 +01:00
|
|
|
cd sshuttle
|
2016-09-01 10:37:39 +02:00
|
|
|
sudo ./setup.py install
|
|
|
|
|
2019-10-23 17:18:28 +02:00
|
|
|
- FreeBSD::
|
|
|
|
|
|
|
|
# ports
|
|
|
|
cd /usr/ports/net/py-sshuttle && make install clean
|
|
|
|
# pkg
|
|
|
|
pkg install py36-sshuttle
|
|
|
|
|
2020-12-29 09:02:25 +01:00
|
|
|
- macOS, via MacPorts::
|
|
|
|
|
|
|
|
sudo port selfupdate
|
|
|
|
sudo port install sshuttle
|
|
|
|
|
2016-09-01 10:37:39 +02:00
|
|
|
It is also possible to install into a virtualenv as a non-root user.
|
|
|
|
|
2015-11-27 04:13:18 +01:00
|
|
|
- From PyPI::
|
|
|
|
|
2016-09-01 10:38:13 +02:00
|
|
|
virtualenv -p python3 /tmp/sshuttle
|
2016-09-01 10:37:39 +02:00
|
|
|
. /tmp/sshuttle/bin/activate
|
2015-11-27 04:13:18 +01:00
|
|
|
pip install sshuttle
|
|
|
|
|
2015-11-15 07:17:16 +01:00
|
|
|
- Clone::
|
2010-05-02 09:42:59 +02:00
|
|
|
|
2016-09-01 10:38:13 +02:00
|
|
|
virtualenv -p python3 /tmp/sshuttle
|
2016-09-01 10:37:39 +02:00
|
|
|
. /tmp/sshuttle/bin/activate
|
2015-11-15 07:17:16 +01:00
|
|
|
git clone https://github.com/sshuttle/sshuttle.git
|
2018-02-14 11:50:04 +01:00
|
|
|
cd sshuttle
|
2015-11-15 07:17:16 +01:00
|
|
|
./setup.py install
|
2013-01-21 00:00:54 +01:00
|
|
|
|
2017-08-03 05:22:50 +02:00
|
|
|
- Homebrew::
|
|
|
|
|
|
|
|
brew install sshuttle
|
|
|
|
|
2019-10-02 06:34:01 +02:00
|
|
|
- Nix::
|
|
|
|
|
|
|
|
nix-env -iA nixpkgs.sshuttle
|
|
|
|
|
2017-08-03 05:22:50 +02:00
|
|
|
|
2016-01-17 08:20:42 +01:00
|
|
|
Documentation
|
|
|
|
-------------
|
2016-01-17 08:38:43 +01:00
|
|
|
The documentation for the stable version is available at:
|
2018-06-21 03:40:02 +02:00
|
|
|
https://sshuttle.readthedocs.org/
|
2016-01-17 08:20:42 +01:00
|
|
|
|
|
|
|
The documentation for the latest development version is available at:
|
2018-06-21 03:40:02 +02:00
|
|
|
https://sshuttle.readthedocs.org/en/latest/
|
2020-05-10 06:09:21 +02:00
|
|
|
|
|
|
|
|
|
|
|
Running as a service
|
2020-06-05 00:19:24 +02:00
|
|
|
--------------------
|
2020-05-10 06:09:21 +02:00
|
|
|
Sshuttle can also be run as a service and configured using a config management system:
|
2020-06-05 00:19:24 +02:00
|
|
|
https://medium.com/@mike.reider/using-sshuttle-as-a-service-bec2684a65fe
|