二段階認証設定したBitbucketをSourceTreeで使う際の設定メモ。
概要
環境:Windows10Pro
Bitbucketには以下を参考に二段階認証設定済とします。
→ 参考:Bitbucket サポート - 2 段階認証
ポイントは SourceTree が二段階認証非対応アプリという点です。
その為以下のように設定していきます。
- Bitbucketでアプリパスワードを作成
- SourceTreeにアプリパスワードを設定
- リポジトリの設定
Bitbucketでアプリパスワードを作成
公式説明を参考に作成。→ 参考:Bitbucket サポート - パスワードを追加する
注意点としてアプリ作成時の権限設定際 「アカウント」の欄にもチェックを入れる。
(入れないと認証が通らない)。
他は必要機能だけチェックを入れる(わからなければとりあえず全部チェック)。
「作成」をクリックするとアプリパスワードが表示されるので控えておく。
※表示ダイアログを閉じると再確認できないので注意。
SourceTreeにアプリパスワードを設定
SourceTree起動。ツール>オプションで オプションのパネルを開く。
タブ「認証」をクリック。
「追加」をクリック。
各欄を図のように設定。
- ホスティングサービス:Bitbucket
- 優先するプロトコル:HTTPS
- 認証:BASIC
- ユーザ名:Bitbucketアカウントのユーザ名
Bitbucketアカウントのユーザ名と控えておいたアプリパスワードを入力。
しばらく待つと「認証成功」の表示がでるので「OK」でダイアログを閉じる。
リポジトリの設定
SourceTree上で設定するリポジトリのタブを選択。右上の「設定」をクリックして「リポジトリ設定」を開く。「URL/パス」はhttps://で記述する。※SSHだと認証が通せない様子。
例:https://username@bitbucket.org/username/reponame.git
usernameがBitbucketアカウント名。
reponameがリポジトリ名。
ここまで設定できたら「フェッチ」をクリック(プルでもなんでも良い)。
すると初回だけ認証ダイアログが出るので、Bitbucket アカウントのユーザ名とアプリパスワードを入力。
これでSourceTree上から各種Git操作が可能になる。
エラーが出た場合
初回のフェッチ操作で以下のようなエラーが出た。remote: Invalid username or password
とりあえず以下から「Git Credential Manager for Windows」をダウンロード&インストールして解決。
https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/1.20.0
他いろいろなパターンがあるらしい。
→ 参考サイト:SourceTree + Bitbucketで認証エラーが出る場合の対処方法 on Windows