できない.dev

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 認証を使う。
加えて、資格情報マネージャに残った古いパスワードが送られ続けているケースも多い。

よくある原因

  1. パスワード認証: HTTPS リモートにアカウントのパスワードで push しようとしている。
  2. 古い資格情報: 過去に保存したパスワードが自動送信されている。
  3. 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 を入力し直す。

この記事は役立ちましたか?