ローカル接続が遅いため、プロキシ経由でコードをチェックアウト/更新したい。ssh tunnelをセットアップします:ssh -D 8090 user@ssh.proxy.net
すべてのパケットをlocalhost:8090に転送します。
これを使用するようにSubversionを設定するにはどうすればよいですか?
ローカル接続が遅いため、プロキシ経由でコードをチェックアウト/更新したい。ssh tunnelをセットアップします:ssh -D 8090 user@ssh.proxy.net
すべてのパケットをlocalhost:8090に転送します。
これを使用するようにSubversionを設定するにはどうすればよいですか?
回答:
SSHを使用して、SSHサーバーにトンネリングするローカルSOCKSサーバーをセットアップしています。それを行う理由は「ローカル接続が遅い」ということですが、SSHサーバーへのトンネリングがどのように高速化するかはわかりません。
とにかく、あなたの問題は、SubversionがHTTPプロキシまたはSSHトンネルを介して接続できることですが、SOCKSについてはわかりません。そのため、すべてのTCP接続をキャプチャし、それらをSOCKSプロキシにリダイレクトすることにより、SubversionをSOCKSifyする必要があります。
以前にそれを行った人を言い換える代わりに、彼らの詳細な説明を紹介します:
または、簡単に言えば、主にOliverのページからcut'n'pasted:
Debianには、sourceforgeでも入手可能な2つのソックスが含まれています。最近更新されたものはProxyChainsであり、設定は非常に簡単です。ほとんどの靴下は同様の方法で動作するため、これらの指示は合理的な一般的なケースである必要があります。ProxyChainsを設定するには、$(HOME)/。proxychains / proxychains.confを編集して次の行のみを含める必要があります。
DynamicChain
tcp_read_time_out 15000
tcp_connect_time_out 10000
[ProxyList]
socks5 127.0.0.1 8090
# NB: for some reason 'localhost' doesn't work in the above line
あとは、ProxyChainsでsvnを「ラップ」するだけです。
proxychains svn commit
上記の例では、svnアプリケーションは、そのTCPがSubversionサーバーに接続することでSOCKSプロキシにリダイレクトされるという賢明なものではありませんでした。」
ここに投稿します。これを行うには、あまり手間がかからない方法を見つけました。あなたは使用することができますPolipoをその設定に以下の行を追加することで、HTTPプロキシを介して、あなたのSSH SOCKSのトンネルを使用します:
socksParentProxy = "localhost:8090"
socksProxyType = socks5
polipo
デフォルトでは、ポートでリッスンします8123
。そして、中に$HOME/.subversion/servers
あなたのSubversionリポジトリのホスト(複数可)と命名されている場合、例えばからチェックアウトしたいSubversionのホストのグループを作成proj1.svn.domain.tld
、proj2.svn.domain.tld
など、その後に以下を追加[groups]
セクション:
[groups]
domain = *.svn.domain.tld
最後に、グループにブロックを追加して、追加したホストのグループのプロキシ構成を指定します。
[domain]
http-proxy-host=localhost
http-proxy-port=8123
これで、以前はSSHトンネルなしで作業していたように、リポジトリを通常どおり操作できるようになります。
HTH
トンネリングについては知りませんssh -D
が、次のようなものを使用します
ssh -L8090:svn.server.com:22 user@other.server.com
その後、トンネルがオンになっている特定のポートを使用して、新しいプロトコルをSubversionに追加することにより、トンネリングを実行できます。したがって、〜/ .subversion / configに次のような行を追加します
pssh = ssh -p8090
中[tunnels]
節その後、代わりのsvn + sshを選択://user@original.com使用のsvn + PSSH:// localhostのユーザー@
既存の作業コピーがある場合は、使用できます
svn switch --relocate svn+ssh://user@original.com svn+pssh://user@localhost
新しいチェックアウトを行わずに作業コピーがリンクされているアドレスを切り替える。
svn co svn+ssh://code.somewhere.com/prj prj
、その後に入るprj/
と実行すると、svn switch --relocate svn+ssh://code.somewhere.com svn+pssh://localhost/
それが経て得られたかのような外観にWCを更新しますsvn co svn+pssh://localhost/prj prj
Windows PCでsocksプロキシサーバーを介してSVNリポジトリへのsvn + ssh接続を取得する必要がある場合があります。この問題は、SSH機能を提供し、さまざまなプロキシタイプで機能するPuttyで解決できます。提案されたソリューションは、ローカルポート転送を必要としません。
内容-SVNはプロトコル名を使用してplink.exeを接続に使用することを検出し、plinkはセッション名socks_proxyを使用してプロキシが存在することを識別します。ことを忘れないでくださいPATH_TO_PLINKはないバックスラッシュで、スラッシュで入力する必要があります。\プログラムファイル\パテ:plink.exeはCフォルダにある機会のための例はssh = C:/プログラムファイル/パテ/ PLINK.EXE -load socks_proxy。