创建按需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第三方库


热门话题
在数据库中存储密码的java加密方法   java正则表达式否定整个正则表达式   java为什么要得到这个Hashmap输出?   看不到玻璃鱼爪哇SE 6   类对象包装器中的Java基本数据字段   java从文本文件中读取整数并存储到单独的变量中?(扫描仪)   优化大型Java数据阵列的处理和管理   如何使用Java XML包装类创建对象   java为ExecutorService invokeAll()创建包装器   java如何在Android Studio 1.0.0中设置Facebook SDK?获取SDK位置未找到错误   java在尝试从线程启动动画时调用了FromErrorThreadException   java根据哈希确认文件内容   通过java在neo4j中获取索引值相同的所有节点?   java为什么我的Validare邮政编码(布尔)程序返回false?   java会话自动从servlet/jsp生成,尽管存在以下条件:<%@page session=“false”%>   创建新LANsocket时拒绝java连接   java如何多线程更新由sql代码更新的数据库?   安卓 Java使用类作为集合来添加项   安卓为什么我的清单文件不声明java包?