2012-04-18 5 views
1

サイトをサーバーに展開していますが、ポート22は私のオフィスでブロックされています。 ssh_configProxyCommandディレクティブでcorkscrewを使用できます。すべて正常に動作します。$ ssh my_server_alias_in_sshconfigを使用して接続してください。ssh_configのProxyCommandとCorkscrewを使用してFabricを使用するには?

env.use_ssh_config=Trueを設定しても、Fabricを使用する必要がありますが、サーバのIPアドレスを検索して直接接続しようとしましたが、ProxyCommandなどは無視されます。 Fabricのドキュメントには、使用可能な設定の一部を活用していると書かれていますが、ProxyCommandを使用しないと、Fabricは役に立たないようです。

助けが必要ですか?

私はこれを持っていますgistしかし、私はそれがProxyCommand要件を解決するとは思わない。

よろしく

答えて

1

瞬間のために、私は次のようにLocalForwardディレクティブを設定します。

Host my_server_using_corkscrew 
    ProxyCommand ... 
    ... 
    LocalForward 1122 localhost:22 

、以下:

Host my_server_using_corkscrew.localtunnel 
    Hostname localhost 
    Port 1122 

そして、で生地を実行します。

$ fab my_deploy_command --hosts=my_server_using_corkscrew.localtunnel 

  • 私は$ ssh my_server_using_corkscrewで最初の「トンネル」を起動し、開いたままにする必要があります。これは、二つの不都合を持っています。
  • ファブファイル内では、ホスト名は常にlocalhostです。したがって、複数のサーバーに同時に展開する場合に問題になる可能性があります。

私はこの時間を使用していますが、これを改善できますか?

+0

あなたは私を助けてください - http://stackoverflow.com/questions/21600830/ssh-ing-to-remote-server-from-behind-a-proxy – whatf

1

より良い回避策が、まだ完璧ではない:

Host somebox 
    ControlMaster auto 
    ControlPath ~/.ssh/socket/%[email protected]%h:%p 

その後$ ssh somebox最初と$ fab -H somebox deploy、その後、それを開いたままにして、トラフィックが靴下を通過しますので、それはのProxyCommandを尊重します。

+0

共有ありがとう!私の場合、ファブリックはホストの設定を取得しますが、既存の接続は使用しません。私は1日眠っていたFabricタスクを実行しようと試みていましたが、それは他のFabricプロセスとの接続を共有しませんでした。 – ConnorWGarvey

関連する問題