如何将VPN与Bitbucket管道一起使用

时间:2017-07-25 17:11:56

标签: ssh bitbucket bitbucket-pipelines

我需要从Bitbucket Pipelines访问远程服务器。此远程服务器仅适用于其IP地址列入白名单的特定主机。这就是我想要的:

Pipelines <---> The gateway host <---> The remote server

我尝试使用sshutle设置基于ssh的VPN以通过网关主机转发所有网络流量,但看起来管道不允许容器运行VPN(请参阅{{3 }})。

如何访问远程服务器?

2 个答案:

答案 0 :(得分:3)

如果只转发http / https就足够了,有一个解决方案。使用SSH设置socks5代理。

首先,将Bitbucket的公共SSH密钥添加到网关服务器上的~/.ssh/authorized_keys。打开Repository --> Settings --> (Pipelines) SSH keys并按照此页面上的说明操作。

然后将这些步骤添加到bitbucket-pipelines.yml

# Start in foreground (-fN), use compression (-C), set up port forwarding (-D)
ssh -fN -C -D 41337 user@server.foobar.com
export http_proxy='socks5://localhost:41337'
export https_proxy='socks5://localhost:41337'

使用curl检查代理是否有效:

curl http://checkip.amazonaws.com

答案 1 :(得分:0)

您也可以使用一行创建SSH隧道而不是代理,并且您可以放置​​多个IP地址,这对我有用。它将9200和5000从服务器暴露给您的localhost

ssh -fN user@server -L *:9200:localhost:9200 -L *:5000:localhost:5000