GitHub で「Support for password authentication was removed」で push できない
2021 年 8 月以降、HTTPS でのパスワード認証は廃止された。
Personal Access Token (PAT) を使うか SSH に切り替える。
保存済みの古いパスワードは資格情報マネージャから削除する。
公開:
要約
remote: Support for password authentication was removed. Please use a personal access token instead. は、GitHub が 2021 年 8 月に HTTPS でのパスワード認証を廃止したために出る。
以降は PAT(Personal Access Token)か SSH 認証を使う。
加えて、資格情報マネージャに残った古いパスワードが送られ続けているケースも多い。
よくある原因
- パスワード認証: HTTPS リモートにアカウントのパスワードで push しようとしている。
- 古い資格情報: 過去に保存したパスワードが自動送信されている。
- PAT の権限不足: PAT は発行したが、対象リポジトリの Contents 権限などが足りない。
解決策
1. PAT を発行して使う
Settings → Developer settings → Personal access tokens で発行し、push 時のパスワード欄に PAT を貼る。
git remote -v
git push
# Username: <ユーザー名> / Password: <PAT>2. SSH に切り替える
git remote set-url origin git@github.com:user/repo.git事前に SSH 公開鍵を GitHub アカウントに登録しておく。
3. 古い資格情報を削除する
保存済みの旧パスワードが残っていると失敗し続ける。
macOS はキーチェーン、Windows は資格情報マネージャ、Linux は次で消す。
git credential-cache exit削除後、次の push で PAT を入力し直す。