Visualsvn を使用した ssh トンネリング
-
26-09-2019 - |
質問
Visual Studio 2008 用に VisualSVN をセットアップするように求められました。
ファイアウォールの制限とサーバー構成が原因です。使う必要がある SSHトンネリング.
私の問題はこれです:
ローカル マシンは ssh 経由でゲートウェイ マシンに接続し、次に Subversion サーバーに接続する必要があります。
Local machine ---{ssh}--- gateway ---{ssh}-- Subversion server
これを行うための正しいプロセスが正確にはわかりません。
次を使用して ssh プロセスを開始する必要があるようです チクチク ローカル ポートを開き、それをリモートの Subversion サーバーに転送します。
例えば。: plink user@gateway -L 22:192.168.1.1:22
次に、VisualSVN が起動するときに使用します 亀の皮 を使用して、Subversion サーバーへの実際の接続を確立します。 svn+ssh://username@localhost:22/myrepo
これは非常に不格好に思えます。
まず、接続をセットアップするためにいくつかの手順が必要です。
次に必要なのが チクチク 実行すると、デスクトップにコマンド プロンプトが残ります (乱雑 = 最悪)。
最後に、同じことを行う 2 つの異なるプログラムを使用する必要があります。(チクチク + 亀のリンク)
問題は、tortoiseplink がバックグラウンドで実行されないことです。SSH ゲートウェイに接続してパスワードを入力するとすぐに、ゲートウェイは再び閉じます。したがって、これを使用して初期接続を作成することはできません。
VisualSVN で tortoiseplink の代わりに plink を使用すると、パスワードの入力を求められることはありません。したがって、コマンドプロンプトを開いてパスワードを要求しないだけでハングします。
すべてが 1 つのコマンド ラインで行われるように VisualSVN をセットアップする方法はありますか?
VisualSVN からリモート サーバーにトンネルするための適切でクリーンな方法を隅々まで探しましたが、ほとんど見つかりませんでした。すべては 1 つのホップ (私のように 2 つのホップではない) を前提としているか、すべてのハードビットを無視しているかのどちらかです。
VisualSVN は異なるサーバー上の複数のリポジトリをどのように処理しますか? すべてのプロジェクトで同じ ssh コマンドラインを使用する必要があるようです。つまり、リポジトリは 1 つだけです。または少なくともホストは 1 人だけです。
解決
VisualSVN は使用したことがありませんが、その手順は次のとおりです。 TortoiseSVN とてもシンプルです。
TortoiseSVN を使用しない場合でも、少なくともリンクとリポジトリをテストできます。