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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file mete0r.recipe.sshtunnel-0.0.1.tar.gz
.
File metadata
- Download URL: mete0r.recipe.sshtunnel-0.0.1.tar.gz
- Upload date:
- Size: 75.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00fb8686467609ee2f9742d5a8db8845654e4d4c4bb83afd597143e7bebad15f |
|
MD5 | 931361d53c30667a6b0ba308d3aa6bc1 |
|
BLAKE2b-256 | 1b604d0b2fc045a7bd5967155bdd93b3cb72609f826ea3f40f244f1deca9c361 |