2011-03-08 51 views

回答

1

这里的一个片段就这么不涉及编写任何额外的Python代码的解决方案:

如果您设置你的SSH配置来隧道SOCKS代理,你可以告诉Fabric使用SSH配置。好可爱。

$HOME/.ssh/config file实施例:

Host bastion 
HostName bastion.yourdomain.com 
DynamicForward 0.0.0.0:1080 
ServerAliveInterval 120 
ServerAliveCountMax 30 

Host hostbehindthebastion.yourdomain.com 
ProxyCommand /usr/bin/nc -x 127.0.0.1:1080 %h %p 

现在告诉面料要使用的配置:

env.use_ssh_config = True 
env.hosts = [ 
    "[email protected]", 
] 

现在在一个窗口ssh bastion,然后从另一个窗口运行fab

有关更多信息,请参阅official Fabric documentation

注意:您必须在您的机器上安装nc(netcat)才能使用此解决方案。