Linux を svn サーバにする
サーバは VMware で作った仮想マシンにあるけど、ここでは関係無い。
svn+ssh で、クライアントは Windows の TortoiseSVN で公開鍵を使えば簡単にできる。
まず sshd が入っていないので
で sshd を入れる。
$ sudo apt-get install openssh-server
入ったら、
念のため sshd_conifg を見てみる。
/etc/ssh/sshd_config でとりあえず、
となっていればいいだろう。
PermitRootLogin yes
サービスを起動させる。
ちなみに
$ sudo service ssh start
でもスタートはできる見たいだけど「使わんでくれよ」と警告がでる。
$ sodo /etc/init.d/xxx start
あとは
http://cl.pocari.org/2007-01-16-1.html
などの記述を参考にキー生成をすれば svn+ssh ができるようになった。
では説明にならないので^^;、具体的に書く
まずサーバ側
いつも使っている id ではなく subversion 用のグループを作ってやる。
uuu はユーザ名
$ sudo groupadd subversion
# sudo usermod subversion uuu
$ sudo chgrp -R subversion xxx
xxx はリポジトリのパス
で、おk。
これで svn+ssh が動いているはずだ。
ssh の tunnel モードを使うので、コマンドラインでの確認方法は分かりませんorz
クライアント側
最初に sskeygen.exe (putty)でキーを作る。
既にサーバ側に $HOME/.ssh/authorized_key がある場合でも、TotoiseSVN が putty 形式でないと認識しないようなので、sshkeygen は必要です。
次に ToroiseSVN の設定(Settings)で Network を開く。
下の方に SSH の設定ができるところがあるので、
と設定。
"...PATH...\TortoisePlink.exe" -C -l ユーザ名 -i キーのパス\key.ppk
あとは checkout するなり。