Githubが単純なユーザ名とパスワードでpush出来なくしてきた
久しぶりにgithubへpushしようとした時
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.hoge/fuga/ for more information
fatal: Authentication failed for 'https://github.com/hoge/fuga.git/'
とエラーが出てきた。どうやらGithubが単純なユーザ名とパスワードでpush出来なくしてきたので、その対処方を調べた。
目次
原因
セキュリティー強化のためにパスワード認証が2021年8月13日から廃止されたから
というわけで今度からGithubへpushするためには
- トークンベースの認証
- SSHベースの認証
のどちらかの手段を取らなくてはならなくなった。ここではトークンベースの認証設定について調べた。
トークンベースの認証の設定手順
- ユーザー名とパスワードを使用してGitHubにログインする
- [Setting]へ移動
- 左側のリストにある[Developer settings]をクリック
- 左側のリストにある[Personal access tokens]をクリック
- [Generate new token]ボタンを押す
- [Note]に「トークンを使う理由」を入力(とりあえず"For my development"と書いた)
- [Expiration]の項目からトークンの有効期限を設定する(めんどくさいので"No expiration"にした)
- 適切な認証範囲を選択
- [Generate token]ボタンを押すとトークンが作成される
毎回pushでトークンを入力しないようにする方法
パスワードは自分が覚えられる範囲のモノを使っていたので毎回入力していたが、流石にトークンの不規則で長い文字列は覚えられないし毎回入力したくない。
以下のコマンドを入力してpush
などをする時に入力を強いられないよう設定を変更する。
git remote set-url origin https://【ユーザ名】:【パーソナルアクセストークン】@github.com/【ユーザ名】/【リポジトリ名】.git