Max*_*ysh 5 ssh bitbucket bitbucket-pipelines
我需要从Bitbucket Pipelines访问远程服务器。该远程服务器仅可用于其IP地址已列入白名单的特定主机。这是我想要的:
Pipelines <---> The gateway host <---> The remote server
Run Code Online (Sandbox Code Playgroud)
我试图用来sshutle设置基于ssh的VPN,以通过网关主机转发所有网络流量,但是看起来管道不允许容器运行VPN(请参阅问题#12753)。
如何访问远程服务器?
如果只转发 http/https 就足够了,那么有一个解决方案。使用SSH设置socks5代理。
首先,~/.ssh/authorized_keys在网关服务器上添加 Bitbucket 的公共 SSH 密钥。打开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'
Run Code Online (Sandbox Code Playgroud)
使用curl检查是否代理工作:
curl http://checkip.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2228 次 |
| 最近记录: |