Skip to main content

a zc.buildout recipe to make on-demand ssh tunnel

Project description

mete0r.recipe.sshtunnel

a zc.buildout recipe to make on-demand ssh tunnels i.e. ssh -L, using systemd socket activation.

Requirements

Local side

Remote side

systemd

sshd

ssh

nc

Usage example

In your buildout.cfg, define a zc.recipe.deployment section:

[buildout]
parts =
   tunnel

[foo]
recipe = zc.recipe.deployment
prefix = FOO-DIR
etc-user = MY-USERNAME
user = MY-USERNAME
...

Then define a tunnel socket in the deployment:

[foo-db]
recipe = mete0r.recipe.sshtunnel
deployment = foo
socket.name = mysql.sock
ssh.process.user = MY-USERNAME
ssh.hostname = 192.168.0.2
remote.bind = 127.0.0.1:3306

On buildout run, two systemd unit files will be created:

$ ls -l ~/.config/systemd/user/
foo-db.socket
foo-db@.service

Then you can start the listening socket:

$ systemctl --user start foo-db.socket
$ systemctl --user list-sockets --all
LISTEN                         UNIT          ACTIVATES
FOO-DIR/var/run/foo/mysql.sock foo-db.socket foo-db@0.service

Test it:

$ mysql --socket=FOO-DIR/var/run/foo/mysql.sock

Enable it to persist:

$ systemctl --user enable foo-db.socket

Development environment

To setup development environment:

python setup.py virtualenv
make

Changes

0.0.1 (2016-11-10)

  • Fix service unit ‘User=’ configuration for non-root users.

0.0.0 (2016-11-10)

  • Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mete0r.recipe.sshtunnel-0.0.1.tar.gz (75.8 kB view details)

Uploaded Source

File details

Details for the file mete0r.recipe.sshtunnel-0.0.1.tar.gz.

File metadata

File hashes

Hashes for mete0r.recipe.sshtunnel-0.0.1.tar.gz
Algorithm Hash digest
SHA256 00fb8686467609ee2f9742d5a8db8845654e4d4c4bb83afd597143e7bebad15f
MD5 931361d53c30667a6b0ba308d3aa6bc1
BLAKE2b-256 1b604d0b2fc045a7bd5967155bdd93b3cb72609f826ea3f40f244f1deca9c361

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page