如何使用ssh#u config';ProxyCommand和螺旋塞?
我正在将站点部署到服务器,但我办公室的端口22被阻塞。现在,我可以使用如何使用ssh#u config';ProxyCommand和螺旋塞?,proxy,ssh,firewall,fabric,Proxy,Ssh,Firewall,Fabric,我正在将站点部署到服务器,但我办公室的端口22被阻塞。现在,我可以使用ssh\u configProxyCommand指令使用corkscrew,一切正常,只需使用sshconfig中的$ssh my\u server\u alias\u进行连接即可 现在我需要使用Fabric来简化部署,但即使在设置env.use\u ssh\u config=True时,它也不起作用,它只是查找服务器的IP地址并尝试直接连接,而忽略ProxyCommand和其他所有内容。Fabric文档说它利用了一些可用的配
ssh\u config
ProxyCommand
指令使用corkscrew
,一切正常,只需使用sshconfig中的$ssh my\u server\u alias\u进行连接即可
现在我需要使用Fabric来简化部署,但即使在设置env.use\u ssh\u config=True
时,它也不起作用,它只是查找服务器的IP地址并尝试直接连接,而忽略ProxyCommand
和其他所有内容。Fabric文档说它利用了一些可用的配置设置,但没有使用ProxyCommand
,Fabric在这里似乎没有用处
有什么帮助吗
我得到了这个,但我认为它不能解决ProxyCommand
需求
关于目前,我设置了一个LocalForward
指令,如:
Host my_server_using_corkscrew
ProxyCommand ...
...
LocalForward 1122 localhost:22
及以下:
Host my_server_using_corkscrew.localtunnel
Hostname localhost
Port 1122
然后,使用以下各项运行Fabric:
$ fab my_deploy_command --hosts=my_server_using_corkscrew.localtunnel
这有两个不便之处:
- 我需要先用开瓶器用
$ssh my\u server\u启动“隧道”,然后让它保持打开状态
- 在fabfile中,主机名始终是
localhost
,因此在一次部署到多个服务器时可能会出现问题
我暂时使用它,但是,它可以改进吗?更好的解决方法,但仍然不完美:
Host somebox
ControlMaster auto
ControlPath ~/.ssh/socket/%r@%h:%p
然后$ssh somebox
先让它保持打开状态,然后$fab-H somebox deploy
流量将通过sock,因此它将尊重proxy命令。您能帮助我吗?谢谢分享!对我来说,fabric会选择主机配置,但不使用现有连接。我甚至试着运行一个Fabric任务,它睡了一天,并保持打开状态,但这并没有与其他Fabric进程共享它的连接。