[memo] TortoiseSVNからsvn+sshを使う


普通にsshで繋がるようになったらsvn+sshを使いたくなる。サーバー側はemerge subversionするぐらいで設定は特にない。svnadmin create /var/svn/hoge とか svn import ~/moge file:///var/svn/hogeとかしておくだけ。svnserveを立ち上げる必要はない。svn+sshで接続するときは、sshで認証した後svnserve -tを勝手にしてくれ、接続を切るとsvnserveプロセスもなくなってくれる。よってルータで3690番のポートを開けておくとかいう作業は必要ない。22番だけ開いていればいい。

クライアント側は、Poderosaで作った鍵(例えばファイル名をid_rsaとする)しかない場合はPuTTY用の鍵を作る。puttygenを起動して、秘密鍵を読み込んでパスフレーズを入力すれば変換される。変換された秘密鍵をid_rsa.ppkとして保存。とりあえずPuTTYを起動して接続-データで自動ログインのユーザ名と、接続-SSH-認証で認証のためのプライベートキーファイルでさっきの.ppkファイルを設定。接続してみてパスフレーズ入力してログイン出来ればOK。

次にputty.exeと同じフォルダにあるpageant.exeを起動する。タスクトレイに常駐するので右クリックして鍵の追加を選んで、.ppkを選択する。パスフレーズを入力すれば作業終わり。以降、PuTTYでもTortoiseSVNでもパスフレーズは入力しないでもいい。ただ、これはWindowsにログインしなおすと消えてしまうので、ログイン毎に鍵の追加→パスフレーズの入力を行う必要がある。ランチャーに登録するかスタートアップに入れておく。

後はTortoiseSVNの設定で、ネットワークにあるSSHクライアントにTortoisePlink.exeを設定。これでTortoiseSVNからリボジトリブラウザを開いて、URL欄に svn+ssh://ユーザ名@ホスト名/var/svn/hoge と入力してエラーが出なければ終了。