Windows
Git
GitHub
bitbucket
TortoiseGit

二段階認証をOnにしたGithubとbitbucketにTortoiseGitでアクセスする方法

はじめに

github と bitbucketを遅まきながら使おうとして、TortoiseGitからアクセスするのに四苦八苦しました。

二段階認証をONにしていて、HTTPSでgithubとbitbucketにアクセスするためのメモ書きです。

※たぶん、TortoiseGitじゃなくても、コマンドラインのGitでも使えると思います。

前提条件

ダウンロード

マイクロソフトがOSSで公開してくださっているMicrosoft/Git-Credential-Manager-for-Windowsのバイナリの最新版をダウンロードする。
※2017/08/27時点では、v1.12.0が最新です。

インストール

  1. ダウンロードしたインストーラーをダブルクリックする
  2. windowsのUACの画面がでるので、「はい」を選択
  3. ライセンスの同意画面がでるので、「I accept the agreement」にチェックをいれ、「Install」をクリック。 ライセンス同意画面
  4. プログレスバーが一瞬でますが、すぐさま終了 インストール完了画面

これで準備は完了です。

githubにアクセスする

  1. TortoiseGitでgithub上の自分のリポジトリをクローンする
  2. ちょこっと修正をしてTortoiseGitでプッシュする
  3. githubへのログイン画面が開きますので、usernameとpasswordを入力します。プッシュ画面でGithubのログイン画面が表示されます。
  4. 次に2段階認証の画面が開きますので、二段階認証のパスコードを入力します。プッシュ画面で二段階認証の画面が表示されます。
  5. プッシュ完了

以後は、トークンの有効期限が切れるまでパスワードを聞かれずに利用ができます。

仕組みとしては、自動でパーソナルアクセストークンが追加されます。下図は、github上の設定画面の「Personal Access token」の画面です。赤枠の部分が自動的に追加されたトークンになります。
github上のPersonal Access Tokenの画面

bitbucketにアクセスする

  1. TortoiseGit自分のリポジトリをクローンする
  2. ちょこっと修正をしてTortoiseGitでプッシュする
  3. bitbucketのログイン画面が開きますので、Eメール&パスワードを入力します。 bitbucketのログイン画面
  4. OAuth認証のダイアログがでますので、「Autthorize」をクリックします。 OAuth画面
  5. 自動的にブラウザを開いて、ブラウザ上でbitbucketにログイン済みならば、認可される権限リスト(下図)が表示されます。ここで「アクセス許可する」をクリックします。未ログインの場合は、ログイン後に表示されると思います(未確認)。 ブラウザ上の権限確認画面
  6. 「認可」が完了した画面が表示されます。 ブラウザ上の認可完了画面

以後は、トークンの有効期限が切れるまでパスワードを聞かれずに利用ができます。

こちらの仕組みは、OAuthになります。
bitbucketの管理画面で確認すると、sourcetreeのWindows版という認識のようです。

ScreenClip5.png