久々にGitHubを使おうとしたらエラーが出たので対応した話

プログラム
1

久しぶりにGitHubにコードをpushしようとしたら、以下のようなエラーが発生した話。

ローカルのプロジェクトをGitHubに追加しようとして発生したけども、大元の記事はこちら。
既存のローカルプロジェクトを GitHub に移行する時にハマったメモ

どんなエラー?そして何故発生した?

git pushしようとして発生した時のエラー内容は以下の通り。

% git push -u origin main
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/[UserName]/[RepositoryName].git/': The requested URL returned error: 403

どうやら、2021年8月13日から、これまで利用していたGitHubのパスワード認証によるGit操作がNGになってしまった模様。
多分移行期間もあったと思われますが、しばし触っていなかったので気付けていませんでした。
さて、どのように対応するかについては、URLが貼られていたのでそちらを見てみます。
ざっくりした理解だと、
  • セキュリティーの向上のためにこれまでのパスワード認証を廃止した
  • 代わりにPersonal Access Token(PAT)というものを用意したので、それを利用して欲しい
  • PATはデータを扱えるスコープ(権限範囲)を絞れたり、利用期限を設定することができる
    • 例えば、リードオンリーの権限に制限したPATを発行して、それをビルドマシンなどで利用したりするとか(なはず)
    • こうしておけば、万が一PATが漏れても、コードをコミットされたりはしないはず
  • できれば2要素認証もよろしくね

ということだと思う。

どうするか?

パスワード認証の廃止について書かれていたページからリンクを貼られていた以下のページを参考にPAT(Personal Access Token)の作成を行ってみた。
Creating a personal access token

PAT完了後には以下の画面がGitHub上で表示されるので、赤色で塗りつぶしているところに表示されるトークンをコピーしておく。

とりあえず上記のPATをパスワードがわりにクライアント側で利用すればOKなはず。

自分はMacのコマンドラインで作業していたのですが、パスワード管理はキーチェーンアクセス.appを利用していました。
なので、キーチェーンアクセス.appが保持しているパスワードをPATに変更する必要があります。

手順的にはキーチェーンアクセス.appを起動し、検索窓で『github』を検索します。
ここで出てきた『github.com』の項目を選択します。

詳細ページでは、『パスワードを表示』のチェックを付け、Macのパスワードを入力する。
その後、表示されたパスワードを削除し、PATに変更して『変更内容を保存』する。

コマンドラインを起動し、適当にGitコマンドを実行してみるとエラーが改善されました。

1件のコメント

コメントを残す

メールアドレスが公開されることはありません。

プログラム
AWS 利用料支払いをクレジットカードで出来なかった件

とある昼下がりの午後(だったかは定かではない)に一通のメールが届きました。 タイトルはこんな感じです …

プログラム
ファイルを読み込む html/JavaScript をローカル環境で実行したかった件

ローカル環境で html/JavaScript を書いている機会が増えて、色々と詰まったところがあっ …

プログラム
1
既存のローカルプロジェクトを GitHub に移行する時にハマったメモ

現在ローカルで作成中のウェブアプリ(Rails アプリ)を GitHub でバージョン管理しようと思 …