Windows 11 で SSH 鍵を生成し Backlog Git でクローンするまで

Windows 11 で SSH 鍵を生成し Backlog Git でクローンするまでの手順です。
2023.05.13

コーヒーが好きな emi です。

手元の Windows 11 端末から Backlog Git でクローンするまでの手順で少し迷ったので、備忘として書き残します。

前提

  • 手元の端末で Git クライアントの設定が完了している
  • GitHub などである程度 Git の操作経験がある

本記事では Git に関する詳細な説明は記載しません。ご了承ください。

Backlog の情報を確認する

Backlog Git を有効化しておきます。
Backlog プロジェクトにリポジトリがない場合はリポジトリを作成します。
画面左の [Git] から [リポジトリを追加する] をクリックしてリポジトリを追加してください。  

リポジトリが作成できました。SSH を選択して得られる文字列を手元にコピーして控えておいてください。以下のような文字列が得られます。

[スペースID]@[スペースID].git.backlog.jp:/[プロジェクトキー]/[リポジトリ名].git

(例)

hoge@hoge.git.backlog.jp:/BACKLOG_GIT_TEST/test-repository.git

手元の端末で SSH 鍵を生成する

私は Git for Windows を手元の端末にインストールしており Git Bash を使っています。
Git Bash で以下のコマンドを実行します。

ssh-keygen

実行結果

kitani.emi@xxxxxxx MINGW64 ~
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/c/home/.ssh/id_rsa): # Enter を押下
Enter passphrase (empty for no passphrase): # パスフレーズを入力しEnter を押下
Enter same passphrase again: # パスフレーズを入力しEnter を押下
Your identification has been saved in /c/home/.ssh/id_rsa
Your public key has been saved in /c/home/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:3vDUPMlcPwJf1pObuZiVekPUaUO5/cYEqxxxxxxxxxx kitani.emi@xxxxxxx
The key's randomart image is:
+---[RSA 3072]----+
|               o.|
|              +.=|
|           o ..@=|
|           =*o=oX|
|        S...B* @o|
|  . . ...=. +.B *|
|xxxxxxxxxxxxxxxxx|
|xxxxxxxxxxxxxxxxx|
|xxxxxxxxxxxxxxxxx|
+----[SHA256]-----+

kitani.emi@xxxxxxx MINGW64 ~
$

以下のフォルダに、SSH の公開鍵と秘密鍵が生成されます。
C:\Users\(端末のユーザー名)\.ssh

  • SSH 秘密鍵:id_rsa
  • SSH 公開鍵:id_rsa.pub

(私は home ディレクトリを C ドライブ直下に設定しているので c:\home\.sshconfig ファイルがありますが、デフォルトで操作されている方はおそらく C:\Users\(ご自身のユーザー名)\.ssh がホームディレクトリになっておりその配下に SSH 秘密鍵・公開鍵があると思います。)

以下は好みですが、Backlog で利用する鍵だと分かるように名前を変更します。

(例)

  • SSH 秘密鍵:emi-Backlog-key
  • SSH 公開鍵:emi-Backlog-key.pub

Git Bash で以下のコマンドを実行して SSH 公開鍵の文字列を表示し、コピーして手元に控えておきます。

cat ~/.ssh/emi-Backlog-key.pub

実行結果(以下の 3 行目を全部コピーします)

kitani.emi@xxxxxxx MINGW64 ~
$ cat ~/.ssh/emi-Backlog-key.pub
ssh-rsa XXXXXXXXXXXXXXXXXXXXAQABAAABgQCv1QunRkb2t+T36avyfK+noIj8RmuQGPalNeHS7K12V0JwEBbV0NFkaZ0vqusLUnKna4pYHvA3aFYDc7zfgvHkrFW4fs8mGBQAePAYHrXF3l4/kGy9aLkFS4KcUEbTgbFtZjt/uwVp2VOs41om0FEqIwy1MLC+P8sNE8pze0OIM1B4mb2cjoHX6ZeJj0OP8AlMvp+9GQsZAoXaACg+RCCT03uwzdHOjg08XHgASh45U30Deyqi1xImS88hXuvY64SnLryYJdLD+9rVVa3CCBo6QOCakj5V/z+vZM8N+gAsvYjlKVuQqi9lYnrY9o3ntbz7ztSn9E/CuJTRsFK1jEx3TiqVmL3Hf6u1P7BT4XpLLeH1aEShS4lefk8VhThdZ9ehFBsr/0LLHLca7bs9C2I+xd8iX9rI6ZiH42qqpSh3tj825ECJcI27Pqjz7RPSAZv3JRlmAUSJb4zSEgX9aNz4b7EM/WzbRJ0KHEg5hEhfYnFxxxxxxxxxxxxxxxxxxxx= kitani.emi@xxxxxxx

kitani.emi@xxxxxxx MINGW64 ~
$

.ssh フォルダ内の config ファイルを編集します。

config ファイルに以下を追記します。

#### Backlog の設定
# - - - - - - - - - - - - 
Host [スペースID].git.backlog.jp
  User [スペースID]
  Port 22
  Hostname [スペースID].git.backlog.jp
  PreferredAuthentications publickey
  IdentityFile [秘密鍵のパス]
  TCPKeepAlive yes #ここは好み
  IdentitiesOnly yes #ここは好み

(例)

#### Backlog の設定
# - - - - - - - - - - - - 
Host hoge.git.backlog.jp
  User hoge
  Port 22
  Hostname hoge.git.backlog.jp
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/emi-Backlog-key # 秘密鍵のパスを入力
  TCPKeepAlive yes #ここは好み
  IdentitiesOnly yes #ここは好み

私はすでに config に GitHub 用の設定を記載していたので、その下部に追記しました。

Backlog に SSH 公開鍵を設定する

Backlog ページ右上のプロフィールアイコンをクリックし [個人設定] をクリックします。
画面左メニューの [SSH 公開鍵の登録] をクリックし、[SSH 公開鍵] の空欄に SSH 公開鍵の文字列を貼り付けます。
[メモ] は任意ですが、何の鍵かわかるよう記載しておくことをおすすめいたします。
[登録] をクリックして SSH 公開鍵を登録します。

Backlog のリポジトリをクローンする

Git Bash で以下のコマンドを実行し、Backlog のリポジトリをクローンします。
コピーしておいた SSH の文字列を git clone の後に張り付けてください。

git clone [スペースID]@[スペースID].git.backlog.jp:/[プロジェクトキー]/[リポジトリ名].git

git clone hoge@hoge.git.backlog.jp:/BACKLOG_GIT_TEST/test-repository.git

実行結果

kitani.emi@xxxxxxx MINGW64 ~
$ git clone hoge@hoge.git.backlog.jp:/BACKLOG_GIT_TEST/test-repository.git
Cloning into 'test-repository'...
Enter passphrase for key '/c/home/.ssh/emi-Backlog-key': # パスフレーズを入力しEnter を押下
warning: You appear to have cloned an empty repository.

kitani.emi@xxxxxxx MINGW64 ~
$

空のリポジトリをクローンしたので warning が出ていますが、クローンできています。

おわりに

私は SSH 鍵の名前を変更したので Config を正しく設定しないとうまくクローンできない、というところで躓きました。
どなたかのお役に立てば幸いです。

参考

Backlog ヘルプセンター > Git & Subversion > Git > Gitの概要