仕事用ネットワークの IP 192.168.0.10 で実行されている自宅から svn リポジトリにアクセスする必要があります。ローカルホストへの SSH トンネルを確立できます。ここで、代わりに 127.0.0.1 にアクセスする方法で 192.168.0.10 をマップする必要があります。Windowsでこれを行う方法を知っている人はいますか?
8 に答える
TortoiseSVNを使用すると、リポジトリを再配置できます
http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-relocate.html#tsvn-dug-relocate-dia-1:
リポジトリが何らかの理由で変更された場合、その場所(IP / URL)。行き詰まってコミットできず、作業コピーを新しい場所から再度チェックアウトして、変更したすべてのデータを新しい作業コピーに戻したくない場合は、TortoiseSVN→再配置が探しているコマンドです。にとって。基本的にはほとんど何もしません。.svnフォルダー内のすべてのエントリーファイルをスキャンし、エントリーのURLを新しい値に変更します。
または、svnコマンドを使用できます。
svn switch --relocate From_URL To_URL
仕事中は、HOSTS ファイルを編集して svn = 192.168.0.10; とします。家にいるときは、svn = 127.0.0.1 になるように編集してから、サーバー名として「svn」を使用して、両方でアクセスします。
または、必要に応じて「svn switch --relocate」コマンドを使用してリポジトリの場所を変更します。
代わりに DNS 名を参照できますか? ホスト ファイル (C:\windows\system32\drivers\etc\hosts) の DNS 名の IP アドレスをオーバーライドできます。
それが可能かどうかはまったくわかりません。できることは、代わりに DNS 名を参照することです。hosts ファイルを使用して、DNS 名が指す IP を変更できます。
以前にも同じ状況があったと思いますが、正確な構成を見つける必要があります。
PuTTY Portableを見ることから始めることができます。これは SSH をサポートし、ローカル IP をリモート IP に「リダイレクト」できます。
私が覚えている限りでは、PuTTY を実行すると次のことができます。
- 最初にローカルアドレスとポートを指定します (これは、Tortoise などの SVN クライアントを指す場所になります)
- 次に、[接続] -> [SSH] -> [トンネル] -> リダイレクト元のソース ポートを指定し (上記と同じ)、宛先 IP とポートを指定して [追加] をクリックします。
そうあるべきだと思います。
にあるホスト ファイルを編集します。%SystemRoot%\system32\drivers\etc\
私が理解しているように、質問は、IPアドレス192.168.0.10を使用して職場でチェックアウトしたラップトップ(または他のコンピューター)でチェックアウトしたsubversionリポジトリがあり、今は家にいてそれを使用したいということです。
個人的には、派手なネットワークの並べ替え (またはホスト ファイルの変更) は試しませんが、SSH トンネルを使用してマシン上のリポジトリの新しいコピーを再度チェックアウトするだけです。そのため、127.0.0.1 アドレスからソースをチェックアウトします。次に、変更を移動する必要がある場合は、チェックアウトした 2 つのコピー間でパッチを使用できます。確かに、これは最も理想的なソリューションではありませんが、あまり面倒なことをせずにすばやく作業を進めることができます。
より良い解決策は、dav_svn/webdav を使用した apache などのより適切な方法を使用して、(適切なパスワード、認証、SSL などを使用して) リポジトリへのアクセスを許可するように作業を説得することです。
彼らがそれを望まない場合は、VPN を提供してもらい、仕事用の IP アドレスを使用してリポジトリで作業を続けることができるようにしてください。
127.0.0.1 経由で svn にアクセスしてみませんか? 確かにこれはより良い解決策でしょうか?
私の理解が正しければ、あなたはここでいくつかの問題に直面しています。これを機能させる唯一の方法は、ホーム マシンのアドレスを 192.168.0.10 にすることです。次に、127.0.0.1 の代わりに 192.168.0.10 を使用して ssh ローカル アドレスを指定します。
リモート ssh 接続も 192.168.0.10 によって行われます。
例: ssh -l work_user -L 192.168.0.10:svn:192.168.0.10:svn work_ssh_host
この構文は OpenSSH で可能です。
私があなたの状況を正しく理解していれば、これですべてです。
より洗練されたソリューションは、OpenVPN を使用し、VPN 経由で接続をルーティングすることです。