为防火墙后面的远程开发人员提供的超神奇ssh隧道。

rela的Python项目详细描述


为防火墙后面的远程开发人员提供的超神奇ssh隧道。

有没有试过把程序和在防火墙后面工作的人配对?你想用SSH连接他们的机器,但你不能通过使用中间的另一台服务器代理连接,中继可以与任何人共享您的开发环境。而且它不仅仅适用于ssh,您还可以在web服务器上建立隧道!

服务器设置

中继要求您有一个运行在公共场所的服务器,您可以使用该服务器在用户之间恢复连接我们在一个公共安全组中使用ec2 micro,但是你可以使用任何你想要的东西。您需要确保您在ports.json中映射的任何端口都对世界开放

安装

继电器可以安装在virtualenv中,但我们建议将其与sudo一起安装,以便它始终可用:

$ sudo pip install relay

一般设置

(nprapps用户请参阅下一节)

中继使用位于~/.relay.conf的配置文件使用以下内容创建此文件:

[relay]# User to connect to the relay server asuser=ubuntu# Hostname or IP of the relay serverserver=relay_server.your_domain.com# Absolute path to the public and private SSH keyspublic_key=/path/to/your/public_key.pubprivate_key=/path/to/your/private_key# Username of the pair programmer account on each developer computerpair_user=relay# Absolute path to the port mapping fileports_json=/path/to/your/ports.json# Absolute path to a file containing bash aliases to be installed when creating the pair programmer user accountbash_profile=/path/to/your/bash_profile

ports.json是用户本地端口到服务器上远程端口的映射,这样用户在创建SSH隧道时就不会发生冲突使用以下内容创建此文件:

{"chris":{"22":"2222","8000":"8000"},"katie":{"22":"2223","8000":"8001"},}

bash_profile是完全可选的,但可能包含您希望每个用户都自动可用的别名或环境变量。

现在需要创建一个relay用户。此过程是自动的:

$ relay setup

如果运行的是OSX,则需要为新创建的^{TT5}$用户启用远程登录。打开系统首选项并导航到“共享”首选项窗格。

选中“远程登录”旁边的复选框。您可以将relay用户添加到允许的用户中,也可以将其打开给“所有用户”。

remotelogin.png

NPRApps设置

预烘焙的配置文件位于Dropbox文件夹中必须安装Dropbox,同步到~/Dropbox,并将nprapps共享文件夹同步到本地计算机然后运行:

$ ln -s ~/Dropbox/nprapps/relay/relay.conf ~/.relay.conf
$ relay setup

共享ssh

要共享ssh连接(用于tmux'ing),请打开一个新终端(或选项卡或tmux窗格):

$ relay user:$USER share:22

其中$USER是您在ports.json中的用户名。

要连接到共享SSH连接:

$ relay user:$USER ssh

其中$USER是共享连接的用户的ports.json中的用户名。

共享开发Web服务器

要共享本地开发Web服务器,请打开一个新终端(或选项卡或TMUX窗格):

$ relay user:$USER share:8000

其中$USER是您在ports.json中的用户名

要在浏览器中连接打开共享Web服务器,请执行以下操作:

$ relay user:$USER web

其中$USER是共享web服务器的用户的ports.json中的用户名。

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

推荐PyPI第三方库


热门话题
javascript如何找到socket。同一局域网上的IO服务器?   将Java代码格式化为Word/RTF格式   java学习对象以及如何将分配的变量封装到私有变量   java Websocket客户端不在Tomcat中工作   java如何在点击按钮时打开本机表情键盘?   java使用哪个Maven GlassFish插件?   Eclipse Java构建路径不允许添加外部JAR   继承Java6集合。勾选适当的用法   JavaApacheDateUtils:使用多个模式解析日期   java hibernate如何生成查询?   具有id或链接的java Dropbox下载文件或文件夹   java模态对话框未在PrimeFaces 5上显示   java将类对象转换为人类可读的字符串   更新数据库中字段的java通用方法   java无法通过Apache Tomcat访问网络文件夹