Home > Eclipse | Linux | Subversion > Subversiveで鍵交換方式によるSSH接続

Subversiveで鍵交換方式によるSSH接続 このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマーク

本日はSubversive鍵交換方式によるSSHで使う方法を紹介します。

Subversiveは、Eclipse 3.4(Ganymede)からSubcripseに代わって標準のSubversion用クライアントとなっています。

仕事ではmod_dav_svn経由でのhttpアクセスでSubversionを使っているのですが、個人使用でのSubversionサーバーへのアクセスにはSSHを使用することにしました。

Gitによるバージョン管理も考えていましたが、TortoiseSVNのようにこれさえ入れておけば手軽に利用出来る!!というツールが今のところ無いのと、Git Extensionsを使ってみたら上手く動いてくれなかったので、そちらで悩むよりは手軽に使い慣れたSubversionでサクッとやってしまおうということからGitは今回は諦めました。

でも分散リポジトリの概念とWEB + DB PRESS Vol.50に掲載されているGit特集でのテクニックには惹かれるものがありますので、そのうちGitに移行しようとは思っているんですが・・・

そんなこんなでサクッとSubversionでの環境を整えてしまおうかと思っていたのですが、Eclipse標準のSubversiveによるSSHでのアクセスが出来るようになるまで結構ハマってしまったのでここに手順をメモしておこうと思います。

前提

今回は既にパスフレーズを設定した鍵交換方式によるSSHでの接続が可能なサーバーがあり、既にSubversionのリポジトリが利用可能であるということを前提として話を進めていきます。

鍵交換方式によるSSHでの接続は既に色々なサイトで解説がされているので、そちらを参考にしてください。

またSubversionのインストールについては、RPMforgeリポジトリをyumに追加した場合にSubversion 1.6.2が利用可能であったのでそちらを利用しました。

手順

上記前提をクリアしているとして、今回本記事で紹介する手順は以下の通りとなっています。

  1. OpenSSH方式の秘密鍵を生成する
  2. EclipseのSubversiveで「SVN + SSH」で接続する

使用したソフトウェアのバージョン

今回使用したソフトウェアのバージョンは以下のようになっています。

SVNサーバー側
CentOS 5.3 x86_64
Subversion 1.6.2
OpenSSH 4.3p2-29.el5
クライアント側
Eclipse Pleiades All in One 3.4.2.20090426
Subversive 0.7.7.I20090224_1900(Pleiades付属)
PuTTY 0.60 ごった煮版

Subversive on SSH

実現までに個人的に色々とハマり時間は掛かってしまったのですが、手順さえ分かってしまえば実はやることはほとんどありません。

OpenSSH方式の秘密鍵を生成する

まず解決するまで一番時間が掛かってしまった秘密鍵の生成方法です。

サーバーへの鍵交換方式による秘密鍵の生成にPuTTYに同梱されているputtygen.exeを使用していたのですが、どうやらそれで生成した秘密鍵はOpenSSH形式の鍵では無いようです。

これに気付くまで何度も設定を試して接続しては/var/log/secureをtailするということの繰り返しでした。
結局ログからは何も分からなかったのですが・・・

ということでOpenSSH形式の秘密鍵の生成方法です。

手順は至って簡単♪

まずPuTTYに同梱されているputtygen.exeを開きます。

puttygen

『読み込み』ボタンを押してPuTTY形式の秘密鍵を読み込んでください。

puttygen2

パスフレーズを設定している場合にはパスフレーズを入力し、正常に秘密鍵を読み込むことが出来たら、メニューバーの『変換』 –> 『OpenSSH形式にエクスポート』としてOpenSSH形式の秘密鍵を出力します。

puttygen3

以上でOpenSSH形式の秘密鍵の生成は完了です。

EclipseのSubversiveで「SVN + SSH」で接続する

ここからは実際にSSHでSubversionのリポジトリを参照する手順となります。

なおSubversionのリポジトリのパスは以下のようになっていると仮定します。

/home/svn/test

では、Eclipseから新規プロジェクトで『SVNプロジェクト』を選択します。

project

「リポジトリー・ロケーション情報の入力」画面での『一般』タブで以下のように入力します。

subversive01

入力欄 入力例
URL svn+ssh://www.sakuttoly.com/home/svn/test
(svn+ssh://ドメイン名/リポジトリパス)
ユーザ SSHでアクセスするユーザ名

そして『SSH設定』タブで以下のように秘密鍵を指定します。

subversive02

入力欄 入力例
ポート SSHでアクセスするポート(デフォルトは22)
認証 「秘密鍵」を選択
ファイル OpenSSH形式の秘密鍵ファイル
パスフレーズ 秘密鍵のパスフレーズ

上記のように入力して『次へ』を押して「リソースの選択」画面が表示され、Subversionリポジトリが参照出来たら成功です。

project1

補足

“svn+ssh://”による接続の記述方式として、

svn+ssh://ユーザ名@ドメイン名/リポジトリのフルパス

という方法もありますが、今回のSubversiveにおいては認証項目のユーザの箇所にてユーザ名を入力していない場合には、結局SSH接続時に再度質問されるという動作をしました。
また、SSH設定を事前に入力していない場合にもSSH接続時に質問されます。

なので一度で接続出来るようにする方法は本記事で紹介した接続方法が手間も掛からずに良いかと思われます。

それから、今回のことを実現するために色々と調べていると同じことを実現するために、環境変数“SVN_SSH”にPuTTYに同梱されているplinkw.exeのパスを設定していたりする方法も見掛けました。

特にこの環境変数を設定しなくてもSubversionを参照することが出来たこともこちらに書いておくことにします。

参考リンク

Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)
Mike Mason
オーム社
売り上げランキング: 15652
おすすめ度の平均: 4.0

5 trunk,branches,tagsでとまどったら
2 Subversionを使う上で”は”よい本だと思う
5 日本語のSubversion解説本の最高作

Comments:0

Comment Form
Remember personal info

コメントリンクを nofollow free に設定することも出来ます。

Trackbacks:1

Trackback URL for this entry
http://www.sakuttoly.com/blog/2009/06/subversion_ssh.html/trackback
Listed below are links to weblogs that reference
Subversiveで鍵交換方式によるSSH接続 from サクっとly.com
pingback from サクっとly.com - さくらインターネットでのSubversion運用と、Eclipse+Subversiveからの鍵交換方式sshの接続設定と、RedmineとSuversion連携を行う 09-07-26 (日) 3:43

[...] これは基本的に当ブログの過去の記事Subversiveで鍵交換方式によるSSH接続の手順で行けますが、2点注意点があります。 1点はPuttyではなくPoderosaを利用している点、もう1点はさくらインタ [...]

Home > Eclipse | Linux | Subversion > Subversiveで鍵交換方式によるSSH接続

ページ
アーカイブ
商品を検索
kubomaのオススメ書籍
メタ情報

Return to page top