0

在反向 SSH 隧道上运行 Fabric 有技巧吗?一个交互式的ssh连接很好,但是在运行fab时,我只是被反复询问我的密码。

4

2 回答 2

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

现在告诉 Fabric 使用配置:

env.use_ssh_config = True
env.hosts = [
    "user@hostbehindthebastion.yourdomain.com",
]

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

有关更多信息,请参阅官方 Fabric 文档

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

于 2013-07-22T13:17:01.510 回答
1

这是一个带有解决方案的片段

https://gist.github.com/856179

只需复制、粘贴和使用

于 2011-04-16T01:29:59.487 回答