我需要从Bitbucket Pipeline访问远程服务器。此远程服务器仅对其IP地址被列入白名单的特定主机可用。这是我想要的:
Pipelines <---> The gateway host <---> The remote server我曾尝试使用sshutle设置一个基于ssh的虚拟专用网,以通过网关主机转发所有网络流量,但看起来管道不允许容器运行虚拟专用网(请参阅issue #12753)。
我可以做些什么来访问远程服务器?
发布于 2017-07-26 01:11:56
如果只转发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检查proxy是否正常工作:
curl http://checkip.amazonaws.com发布于 2017-08-18 16:33:00
您也可以创建SSH隧道,而不是使用一行代理,并且您可以放置多个ip地址,这对我很有效。它将9200和5000从服务器公开到本地主机
ssh -fN user@server -L *:9200:localhost:9200 -L *:5000:localhost:5000https://stackoverflow.com/questions/45309737
复制相似问题