如何通过 SOCKS 代理运行结构脚本?
我有一个网关服务器的 SOCKS 代理设置,该网关服务器是通过在我的 ssh_config 中设置主机定义以使用 DynamicForward localhost:9876 创建的。为了通过 SSH 连接到远程服务器,我设置了另一个主机定义来使用 ProxyCommand /usr/bin/nc -x localhost:9876 %h %p 一切正常。
但是我的结构脚本需要连接到该远程服务器。我如何告诉它在连接时使用 SOCKS 代理?
I have a SOCKS proxy setup to a gateway server which is created by setting up a host definition in my ssh_config
to use DynamicForward localhost:9876
. To connect with SSH to the remote server I've setup another host definition to use ProxyCommand /usr/bin/nc -x localhost:9876 %h %p
which is all working fine.
However my fabric script needs to connect to that remote server. How can I tell it to use the SOCKS proxy when it connects?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Fabric 现在(2013 年 3 月)原生支持隧道:请参阅导致更改的讨论在代码和 提交消息并给出一些理由。
Tunnelling is now (March 2013) supported by Fabric natively: see the discussion leading to the changes in code and the commit message with a bit of rationale.
Fabric 的 SSH 层 目前不支持网关或代理,但它们“最终可能会修补/分叉以添加该功能。” (来自此处)。
Fabric 上还有一个悬而未决的问题,即实现隧道。
这篇博文 建议覆盖 run 函数。
Fabric's SSH layer does not support gateways or proxies at the moment but they "may end up patching/forking it sometime to add that functionality." (from here).
There's also an outstanding issue on Fabric to implement tunneling.
This blog post suggests overriding the run function.
您可以使用 tsocks 和 OpenSSH 客户端的内置支持来创建 SOCKS 隧道。它需要一些配置,但工作正常。以下是我如何开始使用 Ubuntu 10.04。
事实上,Fabric 在没有 VPN 连接的情况下无法工作,这对我来说是一个大问题,所以这是一个很好的解决方案;它所需要的只是通过 SSH 访问一台主机。
You can use tsocks and the OpenSSH client's built-in support for creating SOCKS tunnels. It requires a bit of configuration but it works fine. Below is how I got started on Ubuntu 10.04.
The fact that Fabric doesn't work without a VPN connection was a deal breaker for me, so this is a great solution; all it requires is SSH access to one host.
在
Fabric (1.12.0)
(文档):on
Fabric (1.12.0)
(doc):