GitHubにCLIからアクセスする(token利用編)

## 概要
- プライベートにしているリポジトリにサーバーからアクセスしたら次のように出た

```bash
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/XXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXX/'
```

以前tokenを利用して認証する方法をやった記憶だが、覚えていないので改めてまとめることにする

## どうやるか調査

https://docs.github.com/ja/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens

これを参考に行う
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125890/26aa7eb4-5ea2-4c9d-9078-f6dac620df6a.png)

素直におすすめされている方を利用する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125890/601fdbe2-0a01-451b-954c-456983febbfb.png)

スコープが狭いということなので、そりゃそうだといった感じですね

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125890/3b1a292a-9d0c-4c46-8ee5-fd4fe656c050.png)

とか思いながら見ていると、別のを利用しろとある。
GitHub CLI や Git Credential Managerをざっくりと見たところ、偏見かもしれないが個人に紐づくように見えたので、個人のPCで利用してGitHubを利用するイメージな気がした。

ひとまず、今回はtokenを利用して行うことにする

:::note warn
サーバーに入れて運用している方がいたらどのように運用しているか教えていただければ幸いです
:::

## 実行
これを参考にしてかみ砕いていくイメージ

https://docs.github.com/ja/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#fine-grained-personal-access-token-%E3%81%AE%E4%BD%9C%E6%88%90


1. アイコンをクリックする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125890/e762075f-f881-469c-8293-3d8eac2b994f.png)

2. settingsに移動する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125890/759d13e0-39e7-4116-b28e-9acef8c06ed1.png)

3. 開発者設定に移動する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125890/48d6dd5d-8941-4704-be9b-3331f09409bd.png)

4. Fine-grained personal access tokensを開く
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125890/210bc45b-19f6-4bd4-9c4c-c9c986fc4597.png)

5. トークンを生成を押して、ログインすると次の画面になる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125890/ea23bd99-54d4-4c73-8fd5-762af0c86148.png)

6. 必要な内容を記入していく
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125890/18a1590d-b3ef-43b1-9f9d-15e9052b9e88.png)

7. リポジトリを選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125890/64bbcd17-f645-4599-8e59-572f33cb715d.png)

8. 与える権限を選択する
    ひとまずこれらを選択した。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125890/e7063788-6849-4972-93bf-af70c488a498.png)

9. 作成完了後にcliからcloneしてみる
```bash
git clone https://github.com/XXXXXXXXXXXX/XXXXXXXXXXXXXXXX
Cloning into 'XXXXXXXXXXXXXXXX'...
Username for 'https://github.com': XXXXXXXXXXXX
Password for 'https://XXXXXXXXXXXX@github.com':ここにtokenを貼る
remote: Enumerating objects: 256, done.
remote: Counting objects: 100% (256/256), done.
remote: Compressing objects: 100% (188/188), done.
remote: Total 256 (delta 44), reused 245 (delta 38), pack-reused 0 (from 0)
Receiving objects: 100% (256/256), 294.86 KiB | 4.04 MiB/s, done.
Resolving deltas: 100% (44/44), done.
```
うまくいった。終了

## まとめ
ひとまずtokenを利用するようにしたが、実際のところはどうなんだろうか。また必要になったら調べたい