SourceTreeでSSH鍵(キー)を作成し、Backlogとつなぐ

Gitでリモートリポジトリを利用する場合、手元のローカルリポジトリとリモートリポジトリがセキュアに通信するためにSSHが使われます。そのため、Gitをインストールした後に、SSH鍵(SSHキー)を発行し、ローカルとリモート双方に鍵情報を登録する手順が必要です。

グランフェアズではリモートリポジトリにBacklogを採用しているので、前回インストールしたSourceTreeでSSH鍵(キー)を作成し、最終的にリモートリポジトリのBacklogと繋げるところまでをまとめます。(Windows環境です)ステップは3つ。

  1. SourceTreeでSSH鍵(キー)を作る
  2. SourceTreeでSSH鍵(キー)を登録する
  3. Backlogで自分のアカウントに1で作った SSH鍵情報を登録する

1.SourceTreeでSSH鍵(キー)を作成する

まずはSSH鍵を作成します。SourceTreeにはPuTTYのKey Generatorが同梱されているので、鍵の作成自体もSourceTreeから実行することができます。

メニューバーの「ツール>SSHキーの作成/インポート」を選びます。

SSH鍵を作る:step1

「PuTTY Key Generator」が立ち上がるので、[ Generate ]ボタンをクリック。

SSH鍵を作る:step2

下図の赤い枠のエリアでマウスを好きなように動かします。
(これにより、ランダムな鍵情報が構成される)

SSH鍵を作る:step3

ステータスバーが全部緑になったら、鍵情報の構成が完成。
下図で隠してある部分に、もじゃもじゃとテキストが表示されていると思います。
次に各項目を入力

  1. 「Key comment」に分かりやすい名前を入力(保存する時のファイル名になります)
  2. 「Key passphase」「Confirm passphase」にパスワードを入力(登録するときや接続するときに聞かれます)

SSH鍵を作る:step4

[ Save public key ]ボタンをクリックしてローカルマシン内に公開鍵(パブリックキー)を保存。
[ Save private key ]ボタンをクリックしてローカルマシン内に秘密鍵(プライベートキー)を保存。

SSH鍵を作る:step5

※後から場所が分からなくならないよう、SSH鍵の保存先は予め決めておいたほうがいいです。

SSH鍵を登録する:step3

次に、下図で隠してあるエリアにある「OpenSSH authorized_key」のテキストを選択してコピー。

SSH鍵を作る:step6

テキストファイルとして同じく保存しておきます。

SSH鍵を作る:step7

これで鍵の作成は完了!

2.SourceTreeにSSH鍵(キー)を登録する

次に、作成した鍵情報をリポジトリの接続元となるSourceTreeに登録します。ローカル(SourceTree)とリモート(Backlog)で鍵情報を照合して、合っていれば疎通する、という仕組みですね。

SourceTreeのメニューバーから「ツール>SSHエージェントを起動」をクリック。

SSH鍵を登録する:step1

ここが分かりにくいですが、Windowsのタスクバーに下図の赤枠で囲ったアイコンが追加されていて、これが鍵の管理を行うSSHエージェントです。

SSH鍵を登録する:step2

アイコンをダブルクリック。表示された画面で [ Add key ]をクリック。

SSH鍵を登録する:step3

先ほど保存したプライベートキー(秘密鍵)を選択します。

SSH鍵を登録する:step4

するとパスワードを聞かれるので鍵の作成時に設定したパスワードを入力。

SSH鍵を登録する:step5

SSHエージェントのリストに追加されたことを確認して登録完了です。
([ Close ]をクリックしてSSHエージェントを終了)

SSH鍵を登録する:step3

3.BacklogにSSH鍵(キー)を登録する

最後に、リモートリポジトリであるBacklogに鍵情報を登録します。

公式にも設定方法が載ってます。
SSH公開鍵登録(Backlogを使いこなそう)

登録は簡単。Backlogにログインして「個人設定>SSH公開鍵」から登録画面を開きます。

SSH鍵をBacklogに登録する:step1

鍵の作成時にテキストファイルで保存した「OpenSSH authorized_key」のテキストをコピーして、登録画面に貼り付けて[ 登録 ]。

SSH鍵をBacklogに登録する:step2

BacklogへのSSH鍵情報の登録は完了です。

これで、ローカルのSourceTreeからリモートのBacklogにpushやpullをする準備が整いました。