Bitbucketの認証方式が変わったせいでSourceTreeがエラーになる問題

Git

今日、いつものように鼻歌まじりでSourceTreeからBitbucketへプッシュしようとしたら、以下のようなエラーが出ました

Pushing to https://hoge@bitbucket.org/hoge/hoge.git
remote: Bitbucket Cloud recently stopped supporting account passwords for Git authentication.
remote: See our community post for more details: https://atlassian.community/t5/x/x/ba-p/1948231
remote: App passwords are recommended for most use cases and can be created in your Personal settings:
remote: https://bitbucket.org/account/settings/app-passwords/
fatal: Authentication failed for 'https://hoge@bitbucket.org/hoge/hoge.git/’

Bitbucketへの認証方法が変更になってた

エラーメッセージに記載されてるURLによると、

どうやら2022年3月1日からBitBucketへの認証方法が変更になっていた模様。

アプリパスワードとやらを生成して、それを使う必要があるとのこと。

BitbucketでAppPasswordを生成

早速Bitbucketにいき、左下のアイコンマークから個人設定(Personal settings)に移動。

アプリパスワードページで「アプリ パスワードの生成」を押下してパスワードを生成します

(ラベル名はなんでも良さそう)

ちなみにこの時に生成されるパスワードは一回しか表示されないので、この時にしっかりとコピーしておきます

SouceTreeの設定

この辺の設定方法は情報がなくてよくわからなかったのですが、自分の場合は以下のやり方でうまくいきました

  1. メニュー -> sourcetree -> 環境設定
  2. アカウントタブを選択
  3. 従来の認証方法を使ってるアカウントを削除

この後、fetchやpullなどの操作を行うとパスワード入力画面が出てくるので、この時に上でコピーしておいたアプリパスワードを入力します

キーチェーンに保存するにチェックを入れておけば、パスワードが保存されるので再度入力をする必要もありませんでした