GitHubのパスワード認証廃止でSourcetreeで403エラーが発生して解決策がわからなかったのでまとめておく


目次

  • Sourcetreeで403エラー発生...
  • 何が起こっているか?
  • Github上で行ったこと
  • Sourcetree上の解決方法がわからなかった
    • ひとまずSourceTreeの認証をSSHに変更
    • 再度実行でエラー、最終的な解決方法

Sourcetreeで403エラー発生...

403エラーが起こったのは2021/08/15でした。
いつもどおりSourcetreeで、コミットからプッシュしたときのこと。

何が起こっているか?

エラー発生の直接原因は403エラーですが、403エラーの原因は、以下のログにすべて書かれています。

remote:Support for password authentication was removed on August 13, 2021.Please use a personal access token instead.

早速Google英語翻訳してみました。

remote:パスワード認証のサポートは2021年8月13日に削除されました。代わりに、個人用アクセストークンを使用してください。

Githubで何かしらの変更があった可能性があるということだけはわかりました。
エンジニアの友人に聞いたところ、8月13日にGithubのパスワード認証が廃止になったとのことでした。

Github上で行ったこと

以下の方の記事を参考に作業しました。
記事のとおりに作業すれば、Github上での作業は完了です。

GitHubがパスワード認証を廃止するらしいので

Sourcetree上の解決方法がわからなかった

トークンの設定もできたし、もう大丈夫だろうと再度Sourcetreeからプッシュしてみると、まだ403エラーが発生しました。

ひとまずSourceTreeのSSHクライアントを変更

[ツール]→[オプション]→[全般]→[SSHクライアントの設定]から、[SSHクライアント]を「OpenSSH」に変更します。
SSHキーの場所は~/ssh/id_*****です。

再度実行でエラー、最終的な解決方法

リモートのパスを書き換えなければいけませんでした。
私はこれに3時間考え続けてました...(終わってみれば馬鹿だなあと思います笑)

SourceTreeの画面右上の設定をクリック。

表示されているリモートリポジトリを選択して、[編集]をクリック。

こちらの画面の[URL/パス]を書き換えます。

書き換え方は以下です。
通常どおり設定している方は以下のようになっているかと思います。

https://github.com/[ユーザ名]/[リポジトリ名].git

「https://」と「github.com...」の間にGithubの[Setting]→[Developer Settings]→[Personal access tokens]からコピーできるアクセストークンを貼り付けて末尾に「@」を追加する。

https://[アクセストークン]@github.com/[ユーザ名]/[リポジトリ名].git

以上、こちらで解決しました。
少しでもお役に立てれば、幸いです。