[GitHub]最初のつまずき。HTTPS接続 : Username、Passwordとは？Personal access tokensの違いは？

GitHubでリモートリポジトリを作成する際、コマンドラインから初めて既存のリポジトリをプッシュする際につまづき、気づけば3時間以上経ってました。
はじめての投稿ですが、この記事が同じつまずきをした誰かの役に立てば幸いです。
##### ●HTTPS接続 : Username、Passwordとは？
##### ●Personal access tokensの違いは？

# HTTPS接続
コマンドラインから既存のリポジトリをプッシュする際に以下のコードを実行後、コマンドラインにUsername入力要求の後、Passwordの要求がでました。![613ed81ff5ab42ee0c358dd659cb2c1a (1).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3090887/87bc0b74-8709-daaf-c9e6-437146a2b203.jpeg)
#### UsernameとPasswordが聞かれます。
```
Username for 'https://github.com': [ユーザー名]
Password for 'https://[ユーザー名]@github.com': [Personal access tokens] 
```

# Username何にしたっけ？Passwordって何？
### ●Usernameの確認方法
```
$ git config -l
```
設定の一覧表示が出ます。
#### user.name = <ユーザーネーム>　が表示されます　←ここでUsernameが確認できます！
### ●PasswordとはPersonal access tokensのこと
GitHubでは2021年8月13日より安全面のため、簡単なパスワード認証が利用出来なくなったため、Access token認証を実施しています！そのため、Personal access tokensを作成しなければいけません！
## Password作成方法(Personal access tokens作成方法)
#### ●右上のアイコンボタンを押し、Settingsを押します！
![428a0310ba587291b624ca108e9ff06c.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3090887/997cc9ac-98eb-2ad1-a22b-20ef21d73662.jpeg)
#### ●左下のDeveloper settingsを押します！
![624e28e978c7b0e0920c5011ec86046b.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3090887/3437772c-942a-bbdc-4618-e1f4af69b9df.jpeg)
#### ●Personal access tokensを押し、Fine-grained personal access tokenを選択します！
![a1394e7126c4cb00d2e60bae1f9f457e.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3090887/c65b6f7e-73bf-df10-a875-aa4dd1cf535e.jpeg)
## Personal access tokensの2種類の違い
 どちらのPersonal access tokensを作成すれば良いの？と思われた方も多いと思います！
GitHubドキュメントでは、可能な限りTokens(classic)ではなく、Fine-grained personal access tokenを使用することが推奨されてます。

#### ●Fine-grained personal access token
Fine-grained personal access tokenには、Tokens(classic)に比べてセキュリティ上の利点がいくつかあります。

・各トークンは、単一のユーザーまたは組織が所有するリソースにのみアクセスできます。
・各トークンは特定のリポジトリにのみアクセスできます。
・各トークンには特定のアクセス許可が付与され、Tokens(classic)に付与されたスコープよりも詳細な制御が可能になります。
・各トークンには有効期限が必要です。
・組織の所有者は、組織内のリソースにアクセスできるきめ細かい個人アクセス トークンの承認を要求できます。

#### ●Tokens(classic)
Tokens(classic)は安全性が低くなります。ただし、一部の機能は現在、個人アクセス トークン (クラシック) でのみ動作します。
・Tokens(classic)のみが、あなたまたはあなたがメンバーではない組織によって所有されていないパブリック リポジトリへの書き込みアクセス権を持っています。
・外部コラボレーターは、Tokens(classic)のみを使用して、コラボレーターである組織リポジトリにアクセスできます。
・一部の REST API 操作は、きめ細かい個人アクセス トークンでは利用できません。


#### 迷ったら安全性の高い、きめ細かなアクセス権の制御ができるFine-grained personal access tokenを選びましょう！

## アクセストークンを作成しましょう！
●Token nameは適当な名前を入力します。
●有効期限を選択しましょう。
●Resource ownerに自分のGitHubアカウントが登録されていることを確認しましょう。
●今回リポジトリへのアクセスの範囲は、すべてのリポジトリにします。
![1911abc29a8ea53346463b101f6bb9d8 (1).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3090887/ed25efbf-2b2f-a3ae-da02-afb6e57607b8.jpeg)
●リポジトリの権限を選択します。
![a01214d391f944be6fca5c1c70e5d420.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3090887/60f405fd-cb83-372e-f0be-98638d412286.jpeg)
●コンテンツのリポジトリの内容、コミット、ブランチ、ダウンロード、リリース、マージの
アクセスレベルを読み書き可能にします！
![80aa40dcec2662c8b0636a2239aa80ac.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3090887/1f11776a-7389-506d-cf2b-a9ceaaf29c60.jpeg)
●Generate tokenボタンを押せば、アクセストークン作成完了です。
![be6346475e03ac8077a490739850388e.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3090887/834c8cdc-abf5-d61c-f346-2fb737601bae.jpeg)
●横にあるアイコンをクリックして必ずコピーして保存しておきましょう！
![fb6b19ffa9cd07a1c3e70ce38d299965 2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3090887/54be4450-dc0a-683b-b573-aaeb619bdc5b.jpeg)

# まとめ
```
Username for 'https://github.com': [ユーザー名]
Password for 'https://[ユーザー名]@github.com': [Personal access tokens] 
```
上記のようにGitHubでPasswordを聞かれた際に、作成したPersonal access tokensのコピペを貼ることで、アクセストークン認証ができます！

## この記事の参考文献

About personal access tokens

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

【Github】Fine-grained personal access tokensで開発者がpushするときのtoken取得手順とそのスコープ

https://qiita.com/ko-he-8/items/29d72226b93065c676ff