subversionでソース管理その2

続いて、ネットワーク越しに「subversion」へ接続してみます。

PuTTYのインストール

Windowsからsshで接続するために、こちら(→http://yebisuya.dip.jp/Software/PuTTY/)をインストールします。ssh接続には、すでに「TeraTerm」があるからいいんじゃないかと思っていたんですが、「TortoiseSVN」のssh接続が「PuTTY」互換らしく、「TeraTerm」があるからいらないというわけにいかないようなので、お奨めの手順通りインストールします。

  1. インストールは特に迷うところはありません。
  2. 「PuTTYgen.exe」を起動して、[生成(G)]ボタンで鍵を生成し、パスフレーズを入力します。
  3. [秘密鍵の保存(S)]で秘密鍵をファイルに保存します。
  4. [OpenSSHのauthorized_keysファイルにペーストするための公開鍵]をクリップボードにコピーします。

サーバ側の設定

クリップボードにコピーした公開鍵を「svn」ユーザの「~/.ssh/authorized_keys」に追加します。(TeraTermだと「Alt+V」でペースト)

svn:~$ nano .ssh/authorized_keys
svn:~$ chmod 600 .ssh/authorized_keys
svn:~$ cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAzFuQQm297 ・・・ t7USl99bDjV2Bxik= xxx@ThinkPad42
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBnrLAoWq7qw ・・・ d85fjmgxpTzHw== rsa-key-20080427

PuTTYの接続テスト

  1. PuTTY.exe」の起動します。
  2. 「セッション」の「ホスト名」にサーバのIPアドレス(192.168.1.xxx)を入力し、「ポート」は OpenSSHのポート(22xx:安全のため22でないポートを使用しているため)を入力します。
  3. 「接続」→「データ」の「自動ログインのユーザー名」に「svn」を入力します。
  4. 「接続」→「SSH」→「認証」の「認証のためのプライベートキーファイル」に秘密鍵を設定します。(ちなみに「TeraTerm」で作成した秘密鍵を指定するとエラーになって接続できませんでした。キーの生成は面倒臭がらずにちゃんとやること)
  5. これで接続してOKだったら、「セッション」の「保存」で、名前をつけて保存しておきます。(上の画面[2]の「svnUbuntuxxx」がセッション名です)

pageantの設定

次に「Pageant.exe」の設定を行います。「Pageant.exe」のショートカットを作ってプロパティに秘密鍵のファイル名を追加します。
最初にショートカットを起動するとパスフレーズを聞かれるので入力してください。「パスフレーズを保存する」というチェック項目をチェックするかどうかは危険性をよく考えたうえでお好きに。このショートカットはスタートアップに放り込んでおきます。

TortoiseSVNで接続

TortoiseSVNはインストールされているものとして、まずリポジトリを見てみます。

  1. おっとその前に、SSHのポートが標準(22)じゃないので、このままだと接続できません。TortoiseSVNの設定を変更します。エクスプローラで右クリック、[TortoiseSVN] → [設定] → [ネットワーク] → [SSHクライアント]に「TortoisePlink.exe -P 22xx」を設定します。SSH接続でポート「22xx」を使うよという指定です。
  2. さて、TortoiseSVNの設定も済んだので、エクスプローラの右クリック、[TortoiseSVN] → [リポジトリブラウザ]のURLを入力するところで「svn+ssh://svnUbuntuxxx/home/svn/2555/」と入力します。「svnUbuntuxxx」はPuTTYのセッション名です。
  3. こんな感じでリポジトリが表示されればOKです。

参考

  1. こちら(→Ubuntu/subversion - TOBY SOFT wiki)を参考というか、そのままなぞりました。ありがとうございました。
  2. SSHのポートを標準にしてないときの対処はこちら(→http://exth.net/~togabito/wordpress/2007/05/24/7/)から教わりました。