目次
本節は、Subversion と TortoiseSVN で svn+ssh
プロトコルを使用するよう設定する段階的ガイドです。サーバにログインするのに、すでに認証済み SSH 接続を使用している場合、すでに本節で説明する段階に達しています。さらなる詳細は、Subversion book で見つかるでしょう。まだ SSH を使用しておらず、Subversion を保護するために SSH を使用したい場合は、Subversion のユーザごとに、独立した SSH のユーザアカウントをサーバに用意しなくてもすむ、簡単な方法をガイドします。
この実装では、全 Subversion のユーザ用に、ひとつの SSH ユーザアカウントを作成し、実際の Subversion ユーザで分けるのに、異なる認証鍵を使用します。
この付録では、すでに Subversion のツールをインストールしてあり、このマニュアルですでに述べたようなリポジトリを作成してあると仮定しています。SSH とともに使用する場合、svnserve をサービスやデーモンとして起動するべきでないということに注意してください。
ここの情報の多くは、Marc Logemann が提供しているチュートリアル (www.logemann.org にあります) から来ています。Windows サーバに設定するさらなる情報は、Thorsten Müller が提供しています。ありがとうございます!
サーバで SSH を有効にする必要があります。また、おそらく OpenSSH を使用していると思います。ほとんどのディストリビューションには、これがすでにインストールされていると思います。以下のように入力して ssh のジョブを探してください。
ps xa | grep sshd
注意すべき点は、Subversion をソースからビルドする際、./configure
に引数を何も与えない場合、Subversion は /usr/local
に bin
ディレクトリを作成し、そこにバイナリを配置するということです。SSH でのトンネリングモードを使用する場合、ユーザが SSH でログインするには、svnserve プログラムやその他のバイナリを、実行する必要があるということを意識しなければなりません。このため、PATH
変数に/usr/local/bin
を含めるか、/usr/sbin
ディレクトリやその他の PATH
にある共通のディレクトリに、バイナリへのシンボリックリンクを作成するかを行う必要があります。
すべて問題ないか確認するには、SSH で対象ユーザとしてログインし、以下を入力してください。
which svnserve
このコマンドは、svnserve に到達できるかを確認します。
svn リポジトリにアクセスする際に使用する、新しいユーザを追加してください。
useradd -m svnuser
必ず、リポジトリへのすべてのアクセス権を与えてください。