git 用の SSH キーの作成
git でリポジトリにアクセスをする場合、一般的には SSH キー を利用して認証を行います。
このキーはそれぞれの端末ごとに作成し、Gitリポジトリ(GitHubやBitBucket)への登録を個別に行います。
決して、他のマシンで作成した キーファイルの組み合わせをコピーして流用するようなことは行わないで下さい。
詳しい解説は以下のURLの通りです。
https://git-scm.com/book/ja/ch4-3.html
ここでは、Msys2をインストールした Windows マシンでの SSH キーの作成の仕方を解説します。
SSH キー作成手順
msys2 のターミナルから、以下のコマンドを実行します。
$ ssh-keygen
パスフレーズを求められますので、そのまま Enter キーを押下します。
Generating public/private rsa key pair. Enter file in which to save the key (/home/xxxxx/.ssh/id_rsa):
パスフレーズの確認を求められますので、再度 Enter キーを押下します。
Enter passphrase (empty for no passphrase): Enter same passphrase again:
これで、 ~/.ssh ディレクトリの下に id_rsa と id_rsa.pub の組み合わせが作成されます。
ちなみに id_rsa は「秘密鍵」であり、このファイルは誰にも渡してはいけません。
id_rsa.pub は「公開鍵」であり、このファイルをリポジトリ管理サーバーに登録することによって、リポジトリアクセスの際に二つのキーの組み合わせをチェックして、認証を可能とします。
ここでは、例として、BitBucket へのキーの登録を行います。
msys2 ターミナルで、id_rsa キーの内容をクリップボードに保存します。
$ cat ~/.ssh/id_rsa.pub|clip
その後、Bitbucket にログインし、目的のリポジトリの管理ページを開き、左側のナビゲーションバーの最下段にある「設定」をクリックします。
その後、設定メニューの「一般」->「デプロイ鍵」でデプロイ鍵管理のタブを開き、「鍵を追加」ボタンをクリックして、鍵の登録画面を開きます。
開かれたダイアログの 「Key」項目に、クリップボードに収められた内容を貼り付けます。「Label」項目にはどんなタイトルを記述しても良いのですが、ここは msys2 ターミナルのプロンプト文字列をコピーして、貼り付けておきましょう。
これで、どの端末の何というユーザーからアクセスをするためのキーであるかが明確になります。
それそれのテキストエリアへの記入が終わったら「鍵を追加」ボタンをクリックして、デプロイ鍵の登録を完了します。