Windowsから svn+sshを快適に使う方法。
うちの場合は、apache2でmod_dav_svnを使っているので快適なんだけれども、会社の場合はapache2を入れるのが面倒だったので、svn+sshを使いたい。
んが、TortoiseSVNを入れただけだと、svn+sshでのアクセスが失敗する。
いろいろ調べた結果、TortoiseSVNが使うsshは、PuTTYのものらしく、PuTTYでセッションを保存してあげないと行けないらしい。

PuTTYは、PuTTY Download Pageから持ってくる。全部入ってるputty.zipを持ってくると良い。
で、中に入っているexeをPATHの通ったところに置く。
続いて、キーファイルを作る。
puttygenを実行すると、キーファイルが作れる。Generateを押して適当にマウスを動かし、パスフレーズを入力してから公開鍵と秘密鍵を保存する。
秘密鍵は安全なところに保管し、公開鍵はsvnservが動くマシンの~/.ssh/authorized_keysに追加しておく。
後は、puttyを起動して、Sessionにホスト名を、Connection のAuto-login usernameにユーザ名を、Connection→SSH→Authに秘密鍵のパスを設定してあげて、相手のホスト名を付けてセッションを保存する。
試しに接続してみて、パスフレーズの入力でログインできればおっけ~。
ここまでできたら、pageantを起動する。
pageantは、opensshで言うssh-agent。タスクバーに常駐するので、右クリックメニューからAddKeyを選ぶと、キーを追加できる。
秘密鍵を追加し、パスフレーズを入力する。この作業は、Windowsにログインするたびに行うこと。
後は、TortoiseSVNからsvn+sshでのアクセスができるはず。
ちなみに、svn+ssh://ほげほげ/ の「ほげほげ」の部分が、puttyのセッション名になる。後述するemacsからと共用したい場合は、セッション名=ホスト名にしておくこと。

続いて、emacs(Meadow)+ vc-svn.elでのアクセス方法。
上述の通り、pageantを使うと、パスフレーズを記憶してくれる。
もちろん、cygwinのsshとssh-agentを使っても良いんだけど、ここはpagentを使う方向で行く。
WindowsのDocument And Settingsの下の自分のディレクトリの、Application Data/Subversion/configファイルを編集し、以下を追加する。
[tunnels]
ssh = plink
※ plinkは、先ほどのputty.zipに入っているので、PATHを通して置く。
これで、試しにコマンドラインからローカルコピーのディレクトリで svn updateなどと打った時にパスフレーズを聞かれなければOK。
emacsからvc-svn.elが快適に使えるようになったはずだ。
Windowsの場合は、秘密鍵のファイルが簡単に他人に奪われてしまう危険性があるので、パスフレーズは必ずUNIXのログインパスワードとは違うものにすることと、常にログイン履歴などを確認して、やばいと思ったらすぐに鍵を変える(authorized_keysから削除する)こと。

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: svn+ssh on Windows

このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/698

コメントする

このブログ記事について

このページは、falseが2004年7月14日 19:32に書いたブログ記事です。

ひとつ前のブログ記事は「amavisdのゾンビ」です。

次のブログ記事は「poptopでpptp」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

広告

Powered by Movable Type 6.1.1