2004年7月14日アーカイブ

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から削除する)こと。
2004年7月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

このアーカイブについて

このページには、2004年7月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2004年7月12日です。

次のアーカイブは2004年7月27日です。

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

Powered by Movable Type 6.1.1