跳转到主要内容

为防火墙后的远程开发者提供元魔法SSH隧道。

项目描述

为防火墙后的远程开发者提供元魔法SSH隧道。

是否曾试图与在防火墙后面工作的人进行结对编程?你想要SSH到他们的机器,但无法做到!中继通过使用中间服务器代理连接,使您能够与任何人共享开发环境。而且它不仅仅支持SSH - 你还可以为web服务器建立隧道!

服务器设置

中继要求你有一个运行在某个公开位置的公共服务器,你可以用它来在用户之间跳跃连接。我们使用一个在公共安全组中的EC2微型,但你可以使用任何你想要的。你需要确保你映射到 ports.json 中的任何端口都对世界开放。

安装

中继可以安装在virtualenv中,但我们建议使用sudo安装,使其始终可用

$ sudo pip install relay

通用设置

(nprapps用户请参阅下一节)

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

[relay]

# User to connect to the relay server as
user = ubuntu

# Hostname or IP of the relay server
server = relay_server.your_domain.com

# Absolute path to the public and private SSH keys
public_key = /path/to/your/public_key.pub
private_key = /path/to/your/private_key

# Username of the pair programmer account on each developer computer
pair_user = relay

# Absolute path to the port mapping file
ports_json = /path/to/your/ports.json

# Absolute path to a file containing bash aliases to be installed when creating the pair programmer user account
bash_profile = /path/to/your/bash_profile

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

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

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

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

$ relay setup

如果您正在运行OS X系统,您需要为新创建的中继用户启用远程登录。打开系统偏好设置并导航到“共享”偏好选项卡。

勾选“远程登录”旁边的框。您可以将中继用户添加到允许的用户列表,或者将其设置为“所有用户”。

remotelogin.png

NPRApps设置

预配置文件在我们的Dropbox文件夹中。您必须已安装Dropbox,并同步到~/Dropbox以及将nprapps共享文件夹同步到您的本地计算机。然后运行

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

共享SSH

要共享您的SSH连接(用于tmux),打开一个新的终端(或标签或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中的用户名。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

relay-0.0.8.tar.gz (5.3 kB 查看哈希值)

上传时间: 源代码

由以下机构支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面