この記事の対象と内容

Gitのクライアントソフトに TortoiseGit を利用していて、リポジトリのホスティングにBitbucket(ビットバケット)を利用している方が対象です。 Bitbucketで二段階認証を有効にするためにSSH鍵を生成し、TortoiseGitとBitbucketに設定する手順をまとめます。

TortoiseGit側の設定

Step 01. PuTTYgen で公開鍵と秘密鍵を生成

PuTTYgenは、SSH接続で必要になる公開鍵と秘密鍵を作成するツールです。 TortoiseGit をインストールしていれば同梱されているかと思います。

とはいえ、どこにあるか分からないと思いますので、Windows10の場合はWinマーク + SでOSの検索窓を開いて"PuTTYgen"と打ち込むと見つかるかと思います。

起動したら、Generateボタンをクリックしてキーの生成を行います。 クリック後は、プログレスバーの下のエリアでマウスを適当に動かす事でランダムなキーを生成する事ができます。

以下の画像のプログレスバー下のスペースでマウスを動かしてください。


生成されたらKey passphraseConfirm passphraseにパスフレーズ(パスワード)を入力して、Save private keyをクリックしてppkファイル(putty private key)を保存します。

また、Public key for pasting into OpenSSH authorized key fileを記載されている公開鍵の文字列もどこかにコピーして保存しておきます。

Step 02. プッシュ時にSSH接続する設定

プッシュする時に表示されるダイアログの、DestinationRemoteManageをクリックして設定ダイアログを開きます。

そして、表示されるダイアログのリモートリポジトリからSSH接続するリポジトリを選択した後、Putty Keyの項目にある...マークをクリックして、先ほど保存した秘密鍵を選択します。

選択したら、Add New/Saveボタンを押して保存します。

保存時に、「すでにそのリモートリポジトリは存在します。上書きしますか?」といったダイアログが表示される場合もそのまま進めて大丈夫です。

Step 03. プッシュする

これで設定は完了です。 リモートリポジトリにいつも通りプッシュしてみてください。

先ほど設定したパスフレーズを入力してくださいというダイアログが開くので、入力してOKを押します。

これで問題なくプッシュできればTortoiseGitを使ってSSH接続でのプッシュは無事完了という事になります。

Bitbucketの設定

Step 01. 公開鍵を登録する

まずビットバケットのアカウント設定ページに移動します。

こちら↓
ssh keys — Bitbucket

Add keyボタンを押して、鍵の名前と公開鍵を貼り付けで保存します。

Step 02. 二段階認証のアプリ「Twilio Authy」をスマートフォンにインストールする

これで二段階認証の設定が行えるようになります。

アカウントメニュー内のTwo-step verificationをクリックすると設定ページに移動します。

以下のページです。

two-step verification — Bitbucket

ここで二段階認証のためのアプリTwilio Authyのインストールを促されます。 iPhone(iPhone)やAndroidなど、ご自身のスマートフォン機器に応じてアプリをインストールしましょう。

Step 03. 二段階認証の設定を行う

アプリがスマートフォンにインストールされたら起動します。

起動時に電話番号などを登録します。

完了したら、アプリ側でアカウントを追加するボタンを押して、QRコードリーダーを起動します。

そして Bitbucket の二段階認証ページに表示されているQRコードをスキャンします。

スキャン後は、バックアップのためのパスワード設定が表示されるので作成して保存しておきます。

その後はTwilio Authyに表示されるトークン(番号)を Bitbucket の画面に入力すればOKです。

Step 04. 最終ステップ : メールを確認して有効化

アカウントに登録しているメールアドレス宛に二段階認証の有効化のための確認メールが届きますので、その中の有効化のためのボタンをクリックすれば完了です。

件名は以下です↓
[Bitbucket] Finish enabling two-step verification

Step 05. バックアップコードを保存しておく

二段階認証が完了すると Bitbucket の管理画面にスマホをなくしてしまって二段階認証用のアプリにアクセスできない時用のバックアップコードが表示されます。 これをどこかに保存すれば、作業はすべて完了です。

余談 : PuTTY とは

サーバーにSSHなどでログインするためのオープンソースのクライアントソフトウェアです。

読み方はパティだそうです。

詳しくはこちらを。
PuTTY - Wikipedia