2011-03-08 77 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)才能使用此解決方案。