情報科学屋さんを目指す人のメモ(FC2ブログ版)

何かのやり方や、問題の解決方法をどんどんメモするブログ。そんな大学院生の活動「キャッシュ」に誰かがヒットしてくれることを祈って。

ブログ内検索

スポンサーサイト このエントリーを含むはてなブックマーク

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 | 編集

Visual Studio + AnkhSVN で SVN+SSHを行う方法 このエントリーを含むはてなブックマーク

Visual Studio 2008/2010から、AnkhSVNプラグインを使ってSVN+SSH接続を行う方法をメモ。間違いやすかったり、忘れやすいポイントを中心に書いておきます。

前提

利用するVisual StudioはVisual Studio 2008およびVisual Studio 2010を想定します。また、事前にSSH接続できる(リモート)サーバ上にSubversionレポジトリが作成済みであるとします。また、SSH接続にはputtyを使い公開鍵認証を行う場合を考えます。

AnkhSVNインストール

AnkhSVNのダウンロードページから、AnkhSVNをダウンロードします下の画像のAnkhSVN 2.1.8420がダウンロードリンク。

AnkhSVN.png

今回ダウンロードしたのは「AnkhSvn-2.1.8420.8.msi」で、ダブルクリックから64bitOSでも関係なくインストールすることが出来ます。

環境変数の設定

環境変数に次の項目を追加します。

変数名:SVN_SSH
変数値:C:/.../plinkw.exe

SVN_SSH.png

このように、環境変数を利用して、AnkhSVNが利用するSVN+SSHクライアントとして、puttyと一緒に配られているplinkw.exeを指定します。ただし、ここで指定するパスでは、「¥(円マーク、バックスラッシュ)」ではなく、「/(スラッシュ)」を利用するようにしてください。これを失敗すると、AnkhSVNを使用するときに、レポジトリを指定したのにも関わらず何も起こらないことになります。

pagentを起動

SSHで公開鍵認証を行う場合、plinkw.exeが公開鍵を利用するように設定する必要があります。これを簡略化してくるのが、puttyに含まれているpagent.exeです。

pagent.exeをダブルクリックで起動するとタスクバーに常駐するので、それをダブルクリックして、鍵一覧画面を表示させます。

「鍵の追加」から、putty用の秘密(.ppk)を指定し、公開鍵の暗号化パスワードを入力します(暗号化している場合)。これで準備完了です。plinkw.exeが自動的に公開鍵ファイルを読み込みます。

Visual Studio 起動

Visual Studio 2008/2010を起動し、「表示>Repository Explorer」をクリックしてRepository Explorerを起動します。そして、下の図のようなボタンをクリックします。

AddRepository.png

ボタンをクリックすると、レポジトリのURLが求められます。仮に、ユーザ名をuser1、サーバのアドレスをsvn.blog64.fc2.com、サーバ内部でのレポジトリのフルパスを/home/did2/svn/repo1とすると、入力すべきURLは次のようになります。

svn+ssh://did2@svn.blog64.fc2.com/home/did2/svn/repo1/

入力してOKをクリックすると、ここまでの設定がうまく行っていれば「Subversion Repositories」のツリーの下に読み込まれたレポジトリが表示されます。

プロジェクトをインポートする

ここまでで、正しくレポジトリに対してSVN+SSH接続が可能であると分かったので、安心してインポートできます。

「ファイル>Subversion>Open from Subversion」をクリックすると、自動的にUrlが先ほど指定したUrlになっており、そのレポジトリ内部が見えます。そこからディレクトリをたどって、ソリューションファイル(.sln)を選択してOpenをクリックします。

あとは、設定を確認してOKを押せば完了です。自動的にチェックアウトが実行されます。おわり。

参考

SSHの関係ない手順については過去エントリ「AnkhSVN導入記 2009年09月版 (1) インストール編」が参考になります。

Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)
実用 Subversion 第2版
入門Subversion―Windows/Linux対応

スポンサーサイト
Subversion | コメント:0 | トラックバック:0 | 編集

Eclipseでsvn+sshを行う方法メモ2 エラー対策編 このエントリーを含むはてなブックマーク

前掲の記事「Eclipseでsvn+sshを行う方法(Putty+Subclipse@Windows)メモ」の実行中に発生するかもしれないエラーについて、その現象と対策をメモしておきます。

対象環境

前回より詳しく私の利用している環境を記しておきます。

サーバ
OS:Cent OS 5.3 (Final) 64bit
カーネル:Linux 2.6.18-128.el5
CPU:x86_64

クライアントPC
OS:Windows Vista Ultimate SP2 32bit
Eclipse: Eclipse Java EE IDE for Web Developers. Build id: 20090920-1017 (英語)
Subclipse: Subclipse 1.6.5
PuTTY: PuTTY Release 0.60-JP_Y-2007-08-06

エラーとその対策法

以下、Eclipseでロケーションを作成しようとして発生したエラーと、その原因について紹介します。

Permission denied エラー

Error while creating module: org.tigris.subversion.javahl.ClientException: Permission denied.
svn: ディレクトリ '/repos/myrepos/db/transactions/0-1.txn' を作成できません: 許可がありません
というエラーが発生した場合、レポジトリのパーミッションの設定がおかしなことになっている可能性があります。普通にSSHサーバにログインして、レポジトリのあるフォルダに書き込みができるかどうか確認してください。

Network connection closed unexpectedly エラー

plink.exeのコマンドプロンプト画面(黒い画面)が一定時間表示された後、

検証不能
ロケーションの検証中にエラー: "org.tigris.subversion.javahl.ClientException: Network connection closed unexpectedly
と表示される場合、ホスト名が間違っている可能性が高いです。確認してください。

Couldn't find a repository エラー

plink.exeのコマンドプロンプト画面(黒い画面)が短く表示された後、

検証不能
ロケーションの検証中にエラー: "org.tigris.subversion.javahl.ClientException: Couldn't find a repository
と表示される場合、レポジトリのURL(hostname以降)がレポジトリの位置を正しく指定できていない可能性があります。hostname以降は、サーバ内部での絶対パスで指定します。homeディレクトリからなどではありません。確認してみてください。前回の記事であげた例(/repos/myrepos)も参考にしてください。

黒い画面のまま固まるエラー

plink.exeのコマンドプロンプト画面(黒い画面)が表示されっぱなしになり、一切画面が変化しなくなってしまう状態になった場合、接続先サーバ側の鍵がレジストリにキャッシュされていない可能性があります。一度putty.exeで接続先サーバにSSH接続を行い、サーバ側の鍵を保存するかどうかと言う質問に対して「はい」と答えてください。そうすることで、サーバ側の鍵のキャッシュが保存されます。

最後に

ありがちなエラーをまとめてみましたが、基本は、それぞれの機能(SSH, Subversion, ...)を一つ一つまずは確認することです。どこが原因になっているかをうまく絞ってみてください。

Subversion実践入門
実用SSH
Eclipse 実践開発入門

Subversion | コメント:0 | トラックバック:0 | 編集

Hadoop導入記07「Hadoop用ユーザを作る」 このエントリーを含むはてなブックマーク

Hadoopを複数台で扱うためには、パスフレーズなしでSSHログインのできるユーザが必要になります。ということで、SSHまわりの設定でやってみたことを書きます。

いつも使っているユーザをパスフレーズなしにするのってなんか微妙なので、Hadoop専用のユーザとして、「hadooper」というアカウントを作ってみます。
#useradd --create-home hadooper
#userpasswd hadooper


で、もうこの時点でSSHを使っていたんですが、設定で以下のことを確認しました。設定は/etc/ssh/sshd_configです。

Protocol 2
PermitRootlogin no
passwordAuthentication no
これで、SSH Version 2(だったっけ?)で通信し、rootのログインを禁止し、アカウントのパスワードによる認証を禁止にしました。さて、そんでもってhadooper用の設定をします。
#su - hadooper
$ssh-keygen -t rsa -P ""
とします。SSHでログインしたいユーザ(hadooper)になった状態でssh-keygenを利用して認証鍵を作成します。
$cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys2
これがものすごく大切になります。作成した鍵は、id_rsaとid_rsa.pubでペアですが、これは鍵を作成しただけで、これを使うという意味ではないからです。ちゃんと使ってもらうために、名前をauthorized_keys2にしています。つづいて、この鍵はほかのユーザから見られたくないので、
$chmod 700 ~/.ssh
$chmod 700 ~/.ssh/*
としておきましょう。



以下余談。

今回はhadooper用に鍵を作成しましたが、もし、普段使うために鍵を作ったならば、ログインしたいPCWindowsなど)には、id_rsaを持って行ってください。私はputtyを利用していますが、puttyの場合は、puttygen.exeを利用してid_rsaを変換し*.ppkファイルを作成する必要があるので注意してください

続きも今から書きますが、次はこのSSHアカウントのログインに制限をかける設定についてです。
Hadoop | コメント:0 | トラックバック:0 | 編集

putty文字化け対策法 このエントリーを含むはてなブックマーク

puttyは、WindowsからLinuxへSSH接続するのに使っています。便利です。

で、初めて使ったときに文字化け対策の方法を教えてもらったのですが、よくよく考えたらほかにも困っている人がいるんじゃないかと。ということで、私の場合の解決方法を。

putty.exeを起動して、左のツリーの「ウィンドウ>変換」の「文字コードの設定」で「UTF-8(CJK)」を選択してみてください。初期設定の「EUC-JP」より上にあります。

かならずしもこれで直ることはないでしょうし、逆に、この設定だとどうなのかということもよく分かりませんが、ずっとこうやってきているので、同じように直る人がいればいいなぁということでメモします。

文字化けって、大変ですよね… 日本は文字化けに関しては不利なんですかね、やっぱり。

Linux | コメント:0 | トラックバック:0 | 編集
 | HOME | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。