先月から,SF.jp でようやく正式に Subversion をソース管理システムとして利用可能になったのだが,めどいことに,https ではなく svn+ssh での接続をしなきゃなんない。
まぁ,CVS でも ssh を使っての ext 接続だったわけで,SF.jp のインフラととしては一貫性がとれてるといえる訳だけど。
さて,TortoiseSVN では TortoisePlink という,PuTTY の Plink と同じツールを TortoiseSVN 用に移植したものが同梱されており,基本的にはこれを ssh クライアントとして利用することになる。
んが。
PuTTY のめどいところは,秘密鍵の形式が OpenSSH 系と異なるところ。つまり OpenSSH で作った秘密鍵をそのまま使うことができなかったりするわけだ。
かと言って,Cygwin 入れて openssh 使えるようにしたとしても,これはこれで通信のたびにブランクのコンソールが立ち上がってきてうざいという問題がある。
結局は TortoisePlink 使えるようにするってのが一番な訳ですな。
色々紆余曲折試しながら,ここの情報を元に設定してなんとか使えるようになりました。
以下手順。
秘密鍵の変換:
- PUTTYGen を起動
- メニューから [Conversion] - [Import key] を選択
- ファイル選択ダイアログで,OpenSSH で作った秘密鍵ファイル (id_dsa) を選択
- [Save private key] ボタンをクリック
- passphrase を空にした場合警告が出るが,ここは [OK] をクリック
- ファイル保存ダイアログで,適当な名前をつけて秘密鍵をファイル (id_dsa.ppk) に保存
PuTTY セッションの設定:
- PuTTY を起動
- Category で [Connection] - [SSH] - [Auth] を選択
- [Authentication parameters] セクションの [Private key file for authentication] で,前述の手順で保存した秘密鍵 (id_dsa.ppk) のファイルパスを指定
- Category で [Session] を選択
- [Load, save or delete a stored session] セクションで,[Saved Sessions] の [Default Settings] を選択し,[Save] ボタンをクリック
接続確認:
- Putty を起動
- Category で [Session] を選択
- [Host Name] に <username>@shell.sourceforge.jp を指定して [Open] ボタンをクリック
- ターミナルが起動すれば OK
TortoiseSVN の設定:
- ToirtoseSVN の設定ダイアログを表示
- カテゴリから [Netowork] を選択
- [SSH] セクションの [SSH client] セクションに TortoisePlink.exe のファイルパスを指定して [OK] ボタンをクリック
これで,TortoiseSVN から SF.jp の svn リポジトリに開発者として接続できるようになる……はず。
とりあえず,うちの環境ではなったので良し(ぉ。
ちなみに Eclipse+subclipseでは,subclipse が Java 製のクライアント持ってるし,OpenSSH の鍵もちゃんと認識出るので,特に難しい手順踏まなくても,リポジトリとして svn+ssh://〜 な URL を指定すればアクセスできます。
これでなんとか SF.jp の svn リポジトリをメインに使う算段がついたかって感じですかね。
やれやれ。
…………
……
…
実はまだ1点だけ問題があったりして。
それは SF.jp の svn リポジトリが,anoymous での接続でも https が使えないこと。
これは,会社のファイアーウォールを突破する上で非常に痛い。うちのファイアーウォールは DAV 用の HTTP メソッドを許可しないのだ。https なら何のメソッド使ってるかファイアーウォールが検知できないのでなんとかやって行けたんだけど。
なんか策を考えねば……。

コメントする