27
2009

Mac OS X 10.4のsubversionで、svn+sshの接続でトラブル

CATEGORY開発環境
会社でも自宅で作ったソースを参考にしたい、かつ毎回毎回持ってくるのが面倒ということで、以前インストールした subversion に外部からアクセスできるように設定することにした。

最初に考えたのは、Apache を 2.2 辺りにバージョンアップして、Apache経由でアクセスする案。
が、httpd.conf を見ていると、見慣れないMacOSX独自っぽいモジュール(hfs_apple_moduleとか)が書いてあって、これのバージョンアップが困難っぽいので没。
(別に、無視しても良かったのだけど・・・他に変な影響出ても嫌だし。)

他に、svn+ssh ということで、sshと組み合わせるとできるということが判ったので、この方法でチャレンジ。
元々sshはパスワードではログインできてたこともあり、いろんなところを参考にしつつ、鍵必須でログインできるようになった。
この辺は、穴が無いか気を使っただけで設定に苦労は無かったので割愛。
↓辺り(他にもいろいろ調べたけど)を参考にすればOKかと。

SourceForge.JP - SSHのセキュリティを高めるためのハウツー
IPA ISEC - OpenSSHのインストールと設定

次に、svn+ssh での接続。クライアントは eclipse 3.4 + subversive と TortoiseSVN
・・・が、最初は画面の指示通りやらせいぜいPuTTY使ったりやらだけすればうまくいくだろうと思っていたが、これが一向にうまくいかない。
最初は、鍵やらURLの構文ミスやらを疑い迷ったものの、最終的にどうもsshの接続がうまくいった後に↓のようなエラーが出るようになる。

svn: 接続が突然閉じました


エラーメッセージからは原因の見当もつかず、どうしたものかと長々と悩んでいたら、こんなページにたどり着きました。

MuraTaka 速記メモ - Mac OS X (10.4) での svn+ssh の失敗

書いてある通り /bin/svnserve にシンボリックリンクを貼ったら、一発で直りました(^^;
sshで見る限り、パスは通ってるように見えるのに何故・・・?
あちらのリンク先見えないけど同じ環境だから環境固有の問題?(涙

とりあえず、これでにっちもさっちも行かない状態から、

svn: No repository found in 'svn+ssh://ユーザー名@サーバー名/リポジトリ名'

という普通のエラーメッセージまで改善しました。
これは、単に普段は svnserve -r でパスを省略していたのが、sshだとそのままでは駄目らしい、ということのよう。
サーバー側の .ssh の authorized_keys に追記することで回避できる模様。
ただ、そうすると SSH のユーザーを普段のログイン用と分ける必要があるっぽい(?)ので、今日のところは↓でアクセスしてごまかすことにする。

svn+ssh://ユーザー名@サーバー名/リポジトリフルパス

必要なことは満たせるし、もう疲れたし・・・orz


最後に、svn+sshで参考にしたところなどを列挙。

Subversion によるバージョン管理 - svnserve, 専用サーバ
cl.pocari.org - TortoiseSVN で公開鍵を使う方法

後、eclipse は現在のバージョンでは環境変数 SVN_SSH 無しでも動く模様。
一回有りで動かした後に、消しても動いたので。


2009/4/28 以下追記。

一晩経って改めて考えると、一人でリモートからソースみたい、って用途なら、SSHのポートフォワードで十分だったような・・・。
いやむしろ、最初はそのつもりで設定始めたような? 途中で勘違いしてごっちゃになってたかも。
今日改めてポートフォワードで試してみたら、5分ほどで繋がりましたw 昨日の苦労は何だったんだろう(--;

まぁ設定しちゃったし、せっかくSubversionとしてそういう仕組みが用意されてるんだし、引き続きsvn+sshで動かしてみよう。

2009/5/8 誤記訂正。言葉不足なところを追記。
スポンサーサイト

Tag: Mac Subversion SSH

0 Comments

Leave a comment

1 Trackbacks

Click to send a trackback(FC2 User)
この記事へのトラックバック
  •  Mac OS Xのsubversionで、svn+ssh接続のトラブル
  • 久しぶりにMacで1から環境づくり。 MacPortsでSubversion入れたけど、svn+ssh接続しようとしてもエラーになってうまくいかず。 そーいや、以前に何か対処したなー、と思い調べてみるとちょうど同じところにはまってる人をみかけた。 Mac OS X 10.4のsubversionで、svn+ssh
  • 2009.05.13 (Wed) 23:59 | nak2kのメモ帳