SSH による CVS との接続および構成

Eclipse は、リモート CVS サーバーにアクセスする SSH クライアントを組み込んでいます。このクライアントは、SSH1 および SSH2 の両方のプロトコル・バージョンをサポートしています。 CVS リポジトリーで SSH2 を使用するには、extssh 接続タイプを選択します。

求められる機能性およびセキュリティーのレベルに応じて、認証のために異なるメソッドが使用できます。デフォルトでクライアントによって使用されるユーザー認証メソッドは、公開鍵、キーボード対話式、およびパスワード認証の順序となっています。

公開鍵 (鍵ペア) による認証

公開鍵認証では、ワイヤーを通してパスワードを送信せずにリモート CVS サーバーに接続できます。これはパスワード認証よりも機密保護機能のある認証方式です。公開鍵認証では 2 つの鍵を使用します。秘密鍵はユーザー自身だけが持っている鍵で、安全な場所で保持され、パスワードによって保護されなければなりません。そして公開鍵は、アクセスを取得したいサーバー上に置かれます。

Eclipse では両方の鍵の生成がサポートされます。ユーザーは Eclipse 内からサーバーへ公開鍵をコピーできます。 公開鍵認証を使用するためには、以下のステップに従ってください。

  1. 既に CVS サーバーの秘密/公開鍵がある場合には、 「チーム」>「CVS」> 「SSH2 接続メソッド」 設定ページを開いて、「一般」タブ上で「秘密鍵の追加」ボタンを選択するだけで、リストに使用する秘密鍵が追加されます。この鍵が認証の際に使用されます。

  2. まだ鍵ペアを持っていない場合は、設定ページで「鍵管理」ページへとジャンプしてください。

  3. RSA 鍵の生成」(サーバーがプロトコルのバージョン 1 をサポートしている場合) または「DSA 鍵の生成」 (バージョン 2 の場合) のいずれか選択します。

  4. 公開鍵および秘密鍵が生成されます。公開鍵は読み取り専用テキスト域に表示されます。

  5. 次のステップは、サーバーに公開鍵をコピーすることです。サーバーが OpenSSH サーバーを実行していれば、「SFTP 経由でエクスポート」アクションを使用できます。そうでない場合は、リモートの ~/.ssh/authorized_keys ファイル内へ公開鍵をコピー・アンド・ペーストする必要があります。

  6. 次に、秘密鍵に対するパスワードを準備して、使用するコンピューターに保管しなくてはなりません。

これで鍵ペアが生成されインストールされたので、次回サーバーに対する CVS ロケーションを作成するとき、パスワード入力をする必要はありません。接続が初期化されると、秘密鍵のパスフレーズに対するプロンプトが出されます。秘密鍵がパスフレーズで保護されている限りは、これが一番機密保護機能の高い認証のメソッドです。

: 公開鍵のエクスポートは、OpenSSH 使用可能の SSH サーバー上でのみサポートされています。

パスワードによる認証

パスワード認証をサポートするようにサーバーが構成されている場合、CVS リポジトリー・ロケーションの作成時に単にパスワードを入力すれば、そのパスワードがサーバーによる認証の際に使用されます。これはもっとも簡単な認証方式ですが、公開鍵ほどの機密保護機能はありません。

: Eclipse を使用してログイン・パスワードを保管することはお勧めできません。 パスワードを含むファイルは侵入者から十分に保護されませんが、相応にシステムのセキュリティーを構成することはできます。会社が厳密なセキュリティーの実施を必要とするならば、鍵ペア認証を使用するべきでしょう。

SSH2 による pserver 接続

pserverssh2 接続メソッドでは、外部の ssh2 プログラムなしで、ssh2 ポート・フォワードによる CVS リポジトリーへの pserver 接続を使用できます。 SSH2 接続情報は、リポジトリー・ロケーションの「ホスト」フィールド内に、次の形式でエンコードされます。

ssh_user@ssh_host#port_number@cvs_host

ここで、port_number は、SSH2 ホストのポートが 22 ではない場合にのみ必要です。

関連概念
CVS リポジトリー・ロケーションの作成
CVS によるチーム・プログラミング

関連参照
CVS