<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>www.sakuttoly.com &#187; 鍵交換方式</title>
	<atom:link href="http://www.sakuttoly.com/blog/tag/%e9%8d%b5%e4%ba%a4%e6%8f%9b%e6%96%b9%e5%bc%8f/feed" rel="self" type="application/rss+xml" />
	<link>http://www.sakuttoly.com</link>
	<description></description>
	<lastBuildDate>Sun, 10 Apr 2011 13:25:46 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.sakuttoly.com/blog/tag/%e9%8d%b5%e4%ba%a4%e6%8f%9b%e6%96%b9%e5%bc%8f/feed" />
		<item>
		<title>Subversiveで鍵交換方式によるSSH接続</title>
		<link>http://www.sakuttoly.com/blog/2009/06/subversion_ssh.html</link>
		<comments>http://www.sakuttoly.com/blog/2009/06/subversion_ssh.html#comments</comments>
		<pubDate>Mon, 22 Jun 2009 16:13:15 +0000</pubDate>
		<dc:creator>shirotter</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[subversive]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[鍵交換方式]]></category>

		<guid isPermaLink="false">http://www.sakuttoly.com/?p=412</guid>
		<description><![CDATA[本日はSubversiveを鍵交換方式によるSSHで使う方法を紹介します｡ Subversiveは､Eclipse 3.4(Ganymede)からSubcripseに代わって標準のSubversion用クライアントとなっ [...]]]></description>
			<content:encoded><![CDATA[				<p>本日は<a href="http://www.eclipse.org/subversive/">Subversive</a>を<span class="strong">鍵交換方式によるSSH</span>で使う方法を紹介します｡</p>
				<p>Subversiveは､<a href="http://www.eclipse.org/">Eclipse</a> 3.4(Ganymede)から<a href="http://subclipse.tigris.org/">Subcripse</a>に代わって標準の<a href="http://subversion.tigris.org/">Subversion</a>用クライアントとなっています｡</p>
				<p>仕事ではmod_dav_svn経由でのhttpアクセスでSubversionを使っているのですが､個人使用でのSubversionサーバーへのアクセスにはSSHを使用することにしました｡</p>
				<p><a href="http://git-scm.com/">Git</a>によるバージョン管理も考えていましたが､TortoiseSVNのようにこれさえ入れておけば手軽に利用出来る!!というツールが今のところ無いのと､<a href="http://sourceforge.net/projects/gitextensions/">Git Extensions</a>を使ってみたら上手く動いてくれなかったので､そちらで悩むよりは手軽に使い慣れたSubversionでサクッとやってしまおうということからGitは今回は諦めました｡</p>
				<p>でも分散リポジトリの概念と<a href="http://gihyo.jp/magazine/wdpress/archive/2009/vol50">WEB + DB　PRESS Vol.50に掲載されているGit特集</a>でのテクニックには惹かれるものがありますので､そのうちGitに移行しようとは思っているんですが･･･</p>
				<p>そんなこんなでサクッとSubversionでの環境を整えてしまおうかと思っていたのですが､Eclipse標準のSubversiveによるSSHでのアクセスが出来るようになるまで結構ハマってしまったのでここに手順をメモしておこうと思います｡</p>
				<p><span id="more-412"></span></p>
				<h3>前提</h3>
				<p>今回は既にパスフレーズを設定した鍵交換方式によるSSHでの接続が可能なサーバーがあり､既にSubversionのリポジトリが利用可能であるということを前提として話を進めていきます｡</p>
				<p>鍵交換方式によるSSHでの接続は既に色々なサイトで解説がされているので､そちらを参考にしてください｡</p>
				<ul>
				<li><a href="http://www.atmarkit.co.jp/flinux/rensai/linuxtips/429usekeyssh.html">鍵交換方式のsshでアクセスするには<a></li>
				<li><a href="http://www.jitaku-server.net/ssh_crypto.html">公開鍵暗号でSSHのセキュリティを高める</a></li>
				</ul>
				<p>またSubversionのインストールについては､<a href="http://rpmrepo.org/RPMforge">RPMforge</a>リポジトリをyumに追加した場合にSubversion 1.6.2が利用可能であったのでそちらを利用しました｡</p>
				<h3>手順</h3>
				<p>上記前提をクリアしているとして､今回本記事で紹介する手順は以下の通りとなっています｡</p>
				<ol>
				<li>OpenSSH方式の秘密鍵を生成する</li>
				<li>EclipseのSubversiveで｢SVN + SSH｣で接続する</li>
				</ol>
				<h3>使用したソフトウェアのバージョン</h3>
				<p>今回使用したソフトウェアのバージョンは以下のようになっています｡</p>
				<table>
				<caption>SVNサーバー側</caption>
				<tr>
				<th><a href="http://www.centos.org/">CentOS</a></th>
				<td>5.3 x86_64</td>
				</tr>
				<tr>
				<th><a href="http://subversion.tigris.org/">Subversion</a></th>
				<td>1.6.2</td>
				</tr>
				<tr>
				<th><a href="http://www.openssh.com/">OpenSSH</a></th>
				<td>4.3p2-29.el5</td>
				</tr>
				</table>
				<table>
				<caption>クライアント側</caption>
				<tr>
				<th><a href="http://www.eclipse.org/">Eclipse</a></th>
				<td><a href="http://mergedoc.sourceforge.jp/">Pleiades</a> All in One 3.4.2.20090426</td>
				</tr>
				<tr>
				<th><a href="http://www.eclipse.org/subversive/">Subversive</a></th>
				<td>0.7.7.I20090224_1900(Pleiades付属)</td>
				</tr>
				<tr>
				<th><a href="http://yebisuya.dip.jp/Software/PuTTY/">PuTTY</a></th>
				<td>0.60 ごった煮版</td>
				</tr>
				</table>
				<h3>Subversive on SSH</h3>
				<p>実現までに個人的に色々とハマり時間は掛かってしまったのですが､手順さえ分かってしまえば実はやることはほとんどありません｡</p>
				<h4>OpenSSH方式の秘密鍵を生成する</h4>
				<p>まず解決するまで一番時間が掛かってしまった秘密鍵の生成方法です｡</p>
				<p>サーバーへの鍵交換方式による秘密鍵の生成にPuTTYに同梱されているputtygen.exeを使用していたのですが､どうやらそれで生成した秘密鍵は<span class="strong">OpenSSH形式の鍵では無い</span>ようです｡</p>
				<p>これに気付くまで何度も設定を試して接続しては/var/log/secureをtailするということの繰り返しでした｡<br />
				結局ログからは何も分からなかったのですが･･･</p>
				<p>ということでOpenSSH形式の秘密鍵の生成方法です｡</p>
				<p>手順は至って簡単♪</p>
				<p>まずPuTTYに同梱されているputtygen.exeを開きます｡</p>
				<p><a href="http://www.sakuttoly.com/blog/2009/06/subversion_ssh.html/puttygen" rel="attachment wp-att-416"><img src="http://www.sakuttoly.com/wp-content/uploads/2009/06/puttygen-150x150.png" alt="puttygen" title="puttygen" width="150" height="150" class="aligncenter size-thumbnail wp-image-416" /></a></p>
				<p>『読み込み』ボタンを押してPuTTY形式の秘密鍵を読み込んでください｡</p>
				<p><a href="http://www.sakuttoly.com/blog/2009/06/subversion_ssh.html/puttygen2" rel="attachment wp-att-421"><img src="http://www.sakuttoly.com/wp-content/uploads/2009/06/puttygen2-150x150.png" alt="puttygen2" title="puttygen2" width="150" height="150" class="aligncenter size-thumbnail wp-image-421" /></a></p>
				<p>パスフレーズを設定している場合にはパスフレーズを入力し､正常に秘密鍵を読み込むことが出来たら､メニューバーの『変換』 &#8211;> 『OpenSSH形式にエクスポート』としてOpenSSH形式の秘密鍵を出力します｡</p>
				<p><a href="http://www.sakuttoly.com/blog/2009/06/subversion_ssh.html/puttygen3" rel="attachment wp-att-422"><img src="http://www.sakuttoly.com/wp-content/uploads/2009/06/puttygen3-150x150.png" alt="puttygen3" title="puttygen3" width="150" height="150" class="aligncenter size-thumbnail wp-image-422" /></a></p>
				<p>以上でOpenSSH形式の秘密鍵の生成は完了です｡</p>
				<h4>EclipseのSubversiveで｢SVN + SSH｣で接続する</h4>
				<p>ここからは実際にSSHでSubversionのリポジトリを参照する手順となります｡</p>
				<p>なおSubversionのリポジトリのパスは以下のようになっていると仮定します｡</p>
				<pre>
/home/svn/test
</pre>
				<p>では､Eclipseから新規プロジェクトで『SVNプロジェクト』を選択します｡</p>
				<p><a href="http://www.sakuttoly.com/blog/2009/06/subversion_ssh.html/project" rel="attachment wp-att-423"><img src="http://www.sakuttoly.com/wp-content/uploads/2009/06/project-150x150.png" alt="project" title="project" width="150" height="150" class="aligncenter size-thumbnail wp-image-423" /></a></p>
				<p>｢リポジトリー･ロケーション情報の入力｣画面での『一般』タブで以下のように入力します｡</p>
				<p><a href="http://www.sakuttoly.com/blog/2009/06/subversion_ssh.html/subversive01" rel="attachment wp-att-424"><img src="http://www.sakuttoly.com/wp-content/uploads/2009/06/subversive01-150x150.png" alt="subversive01" title="subversive01" width="150" height="150" class="aligncenter size-thumbnail wp-image-424" /></a></p>
				<table>
				<tr>
				<th>入力欄</th>
				<th>入力例</th>
				</tr>
				<tr>
				<th>URL</th>
				<td>svn+ssh://www.sakuttoly.com/home/svn/test<br />(svn+ssh://ドメイン名/リポジトリパス)</td>
				</tr>
				<tr>
				<th>ユーザ</th>
				<td>SSHでアクセスするユーザ名</td>
				</tr>
				</table>
				<p>そして『SSH設定』タブで以下のように秘密鍵を指定します｡</p>
				<p><a href="http://www.sakuttoly.com/blog/2009/06/subversion_ssh.html/subversive02" rel="attachment wp-att-425"><img src="http://www.sakuttoly.com/wp-content/uploads/2009/06/subversive02-150x150.png" alt="subversive02" title="subversive02" width="150" height="150" class="aligncenter size-thumbnail wp-image-425" /></a></p>
				<table>
				<tr>
				<th>入力欄</th>
				<th>入力例</th>
				</tr>
				<tr>
				<th>ポート</th>
				<td>SSHでアクセスするポート(デフォルトは22)</td>
				</tr>
				<tr>
				<th>認証</th>
				<td>｢秘密鍵｣を選択</td>
				</tr>
				<tr>
				<th>ファイル</th>
				<td>OpenSSH形式の秘密鍵ファイル</td>
				</tr>
				<tr>
				<th>パスフレーズ</th>
				<td>秘密鍵のパスフレーズ</td>
				</tr>
				</table>
				<p>上記のように入力して『次へ』を押して｢リソースの選択｣画面が表示され､Subversionリポジトリが参照出来たら成功です｡</p>
				<p><a href="http://www.sakuttoly.com/blog/2009/06/subversion_ssh.html/project1" rel="attachment wp-att-426"><img src="http://www.sakuttoly.com/wp-content/uploads/2009/06/project1-150x150.png" alt="project1" title="project1" width="150" height="150" class="aligncenter size-thumbnail wp-image-426" /></a></p>
				<h4>補足</h4>
				<p>&#8220;svn+ssh://&#8221;による接続の記述方式として､</p>
				<pre>
svn+ssh://ユーザ名@ドメイン名/リポジトリのフルパス
</pre>
				<p>という方法もありますが､今回のSubversiveにおいては認証項目のユーザの箇所にてユーザ名を入力していない場合には､結局SSH接続時に再度質問されるという動作をしました｡<br />
				また､SSH設定を事前に入力していない場合にもSSH接続時に質問されます｡</p>
				<p>なので一度で接続出来るようにする方法は本記事で紹介した接続方法が手間も掛からずに良いかと思われます｡</p>
				<p>それから､今回のことを実現するために色々と調べていると同じことを実現するために､環境変数<span class="strong">&#8220;SVN_SSH&#8221;</span>にPuTTYに同梱されているplinkw.exeのパスを設定していたりする方法も見掛けました｡</p>
				<p>特にこの環境変数を設定しなくてもSubversionを参照することが出来たこともこちらに書いておくことにします｡</p>
				<h3>参考リンク</h3>
				<ul>
				<li><a href="http://www10.atpages.jp/~terubou/dic/index.php?IT%2F90.%E3%83%A1%E3%83%A2%E6%9B%B8%E3%81%8D%2F%E3%81%AF%E3%81%BE%E3%82%8A%E3%83%8D%E3%82%BF">私はこれにハマリました。@UAYAMA de WIKI</a></li>
				<li><a href="http://www10.atpages.jp/~terubou/dic/index.php?IT%2F10.%E9%96%8B%E7%99%BA%E3%83%84%E3%83%BC%E3%83%AB%2F%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%2FPuTTY#b6cda506">PuTTY@UAYAMA de WIKI</a></li>
				</ul>
				<div class="amazlet-box" style="margin-bottom:0px;">
				<div class="amazlet-image" style="float:left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4274066800/sakutto0b-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51CaMHjJPSL._SL160_.jpg" alt="Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)" style="border: none;" /></a></div>
				<div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%">
				<div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4274066800/sakutto0b-22/ref=nosim/" name="amazletlink" target="_blank">Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)</a>
				<div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/4274066800/sakutto0b-22/ref=nosim/" title="Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)" target="_blank">amazlet</a> at 09.06.22</div>
				</div>
				<div class="amazlet-detail">Mike Mason <br />オーム社 <br />売り上げランキング: 15652</div>
				<div class="amazlet-review" style="margin-top:10px; margin-bottom:10px">
				<div class="amazlet-review-average" style="margin-bottom:5px">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4.0" /></div>
				<p><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> trunk,branches,tagsでとまどったら<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-2-0.gif" alt="2" /> Subversionを使う上で&#8221;は&#8221;よい本だと思う<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 日本語のSubversion解説本の最高作</div>
				<div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4274066800/sakutto0b-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div>
				</div>
				<div class="amazlet-footer" style="clear: left"></div>
				</div>
]]></content:encoded>
			<wfw:commentRss>http://www.sakuttoly.com/blog/2009/06/subversion_ssh.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.sakuttoly.com/blog/2009/06/subversion_ssh.html" />
	</item>
	</channel>
</rss>

