创建按需ssh隧道的zc.buildout方法

mete0r.recipe.sshtunnel的Python项目详细描述


Mete0r.Recipe.sshtunnel

制作按需ssh隧道的zc.buildout方法,即ssh -L, 使用systemdsocket activation

要求

Local sideRemote side
^{tt2}$^{tt3}$
^{tt4}$^{tt5}$

使用示例

注意!

这个包裹正在计划阶段。一切都可以随时改变。

buildout.cfg中,定义一个zc.recipe.deployment部分:

[buildout]
parts =
   tunnel

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

然后在展开中定义隧道套接字:

[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

在构建运行时,将创建两个systemd单元文件:

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

然后您可以启动监听插座:

$ 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

测试:

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

使其保持:

$ systemctl --user enable foo-db.socket

开发环境

设置开发环境:

python setup.py virtualenv
make

更改

0.0.1(2016-11-10)

  • 修复非根用户的服务单元“user=”配置。

0.0.0(2016-11-10)

  • 初次发布。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
html Java spring框架:应用程序上下文不会设置属性   java如何保持已通过电话登录的用户登录   基于LWJGL的二维矩形图像java旋转   java如何将这些图像图标调整到我的棋盘格?   java如何在play框架中禁用http端口?   使用spring4@Transactional时,java事务不起作用   java堆栈由编译器或OS/体系结构创建   用vbscript杀死Java进程   java如何使用ApacheSparkML和两列文本作为特性来训练逻辑回归?   Tomcat上的java ElasticSearch节点客户端无法读取请求数据   java访问SharedReference在Android中不起作用   java流式处理使用springdatamongodb的聚合操作的结果   电子邮件javax。邮政AuthenticationFailedException Java邮件