EGitでssh公開鍵を利用してgithubやSOURCEFORGE.JPのリポジトリにアクセスする方法の紹介です。今更ですが、SOURCEFORGE.JPを利用した開発の際にハマッタので備忘録です。

まずeclipseのメニュー Preferences > Network Connections > SSH2で、sshの設定を行います。 GeneralタブのSSH HomeとPrivate Keysの設定を確認して下さい。基本的にはデフォルトのままで問題ありません。

ssh2-KeyManagement

次にKey Managementタブでssh鍵を生成します。 「Generate RSA Key...」ボタンをクリックして鍵を生成します。 生成後、必要に応じてPassphaseを入力します(推奨)。 「Save Private Key...」をクリックしてSSH Homeに公開鍵と非公開鍵を保存します。 生成した公開鍵は、利用するリポジトリに登録します。

ssh2-General

最後にEGitを利用してリポジトリにPushします。 まず、Pushしたいプロジェクトを選択し、右ボタンで Team > Share Project... を選択します。

Share Project

Gitを選択し、「Use or create repository in parent folder of project」をチェックして「Create repository」をクリックしてリポジトリを作成します。

Configure Git Repository-1
Configure Git Repository-2
Configure Git Repository-3

続けてプロジェクトを選択し、右ボタンで Team > Commit を選択します。

Commit Changes

「Commit message」「Author」「commiter」「Files」を適切に入力/チェックしてコミットします。

続けてプロジェクトを選択し、右ボタンで Team > Remote > Push... を選択します。

Destination Git reposityの設定を行います。「URI」「Host」「Repository path」「Protocol」を適切に入力して次に進みます。「Authentication」は利用しないのでデフォルトのままで問題ありません。

Destination Git Repository

「Add create/update specifications」でマスターを選択して、「Add spec」をクリックし、「Next >」をクリックして進みます。

Push Ref Specifications

最後にリモートにプッシュする内容を確認して「Finish」をクリックします。

Push confirmation