ターミナルからgit cloneをしようとしたら、エラーになりました。

実は、パスワードではなく、「トークン」を使う必要があるからです。
1. Githubでアクセス用トークンを生成する
まずは、Githubの設定からトークンを作成します。


作成した「トークン」は パスワードの代わりに使います。
Username: GitHubのユーザー名
Password: トークン(sk- ではなく ghp_ など)Code language: HTTP (http)

Password と書いてあるが トークンを貼ると、ちゃんとgit cloneができました。
2. .git-credentials
毎回聞かれないようにするには、Git の認証キャッシュが必要です。
git config --global credential.helper storeCode language: CSS (css)
ただし、~/.git-credentials に 平文保存される点は理解した上で使ってください1。
このコマンド後に、git pullなどでgithubにアクセスし、キーを入力すると、.git-credentialsが生成され、保存されるようになります。

3. SSH鍵認証
credential.helper store は平文保存のため、SSH鍵認証の方が推奨されます:

<em># SSH鍵を生成</em>
ssh-keygen -t ed25519 -C "鍵のコメント(メールアドレスなど)"
<em># 公開鍵をGitHubに登録後、HTTPS URLをSSHに変更</em>
git remote set-url origin git@github.com:username/repo.gitCode language: HTML, XML (xml)
まず、PCにSSH鍵ペアのうち秘密鍵を保管し、GitHubのリモートレポジトリに公開鍵を登録しています。
また、リポジトリの接続先URLを毎回トークン入力が必要なhttpsからSSH鍵で自動認証される git@github.com:username/repo.git に変更しています。
完了すると、結果は
git remote -v
で確認できます。
変更前(HTTPS):
origin https://github.com/username/repo.git (fetch)
origin https://github.com/username/repo.git (push)Code language: JavaScript (javascript)
変更後(SSH):
origin git@github.com:username/repo.git (fetch)
origin git@github.com:username/repo.git (push)
- ただし、パスワードが暗号化なしのテキストファイルでホームディレクトリに保存される、というデメリットがあります。 Git – 認証情報の保存