2021年8月13日から、パスワードを用いたGithubへの認証がセキュリティ上の理由から廃止されました。
今までコマンドラインからGithubにアクセスする際にパスワード認証をしていた場合は、それが使えなくなり、代わりに Personal Access Token(個人アクセストークン)を用いた認証かSSH認証に切り替える必要があります。
https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/
以下は、personal access token を用いた認証手順です。
トークンの発行
初めに https://github.com/settings/tokens からトークンを発行します。一般的なgit操作(clone・pull・push等)の場合、権限はrepoにチェックが入っていれば十分です。
以降はここで発行したトークンを使います。発行画面を閉じると一切中身が見れなくなるので、忘れずにコピーしておきましょう。
対話的にアクセスする場合
コマンドラインから対話的にアクセスする場合、公式のドキュメントにあるように、Passwordを従来のものからトークンに置き換えれば良いです。
$ git clone https://github.com/username/repository_name.git
Username: your_username
Password: your_token
非対話的にアクセスする場合
非対話的にアクセスする場合、URLにトークンを埋め込みます。
新規にcloneする場合は、次のようにします。
git clone https://{your_token}@github.com/username/repository_name.git
既にcloneしてあるローカルリポジトリを更新する場合は、次のようにリモートリポジトリのURLを更新します。
$ git remote remove origin
$ git remote add origin https://{your_token}@github.com/username/repository_name.git
# 後は普通に操作ができる
$ git pull origin master
SSH認証との比較
SSH認証との比較ですが、personal access tokenの方がトークン管理が楽なのと(sshキーと違ってトークンをローカルで生成・管理する必要がない)、細かい権限設定が可能なので、personal access tokenを用いる方が優れていると自分は思います。