为防火墙后面的远程开发人员提供的超神奇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用户添加到允许的用户中,也可以将其打开给“所有用户”。
NPRApps设置
预烘焙的配置文件位于Dropbox文件夹中必须安装Dropbox,同步到~/Dropbox,并将nprapps共享文件夹同步到本地计算机然后运行:
$ ln -s ~/Dropbox/nprapps/relay/relay.conf ~/.relay.conf $ relay setup