🔑

GithubのHTTPS接続でハマった

2023/05/02に公開

個人開発で新リポジトリつくろうとしたら意外と手間取ったので、作業メモを残します。

はじめに

Githubのリポジトリに対する接続にはSSH接続とHTTPS接続があります。
SSHの方が何かと楽な印象ですが、Github的にはHTTPS接続を使って欲しそうな感じを感じています。

ターミナルからHTTPS接続しようとすると、こんな感じでGithubのユーザー名とパスワードを求められます。
git clone, git fetch, git pull, git pushあたりの操作で要求されると思いますが、要求されないときもあって個人的には謎です。

Username for 'https://github.com': username
Password for 'https://username@github.com': 

こんなダイアログになるんですが、ここでGithubアカウントのパスワードを入れると怒られます。

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

2021/8/13に単純なパスワード認証は廃止されていて、Personal Access Token(以下PAT)を使ってね、ということになりました。

https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls

ここまでが前提です。

PAT入れてるのに403

今回、僕はプライベートリポジトリつくって、そこにpushしたかったので、PATを作成しました。
Keychainを「Github」で検索して、前の情報が存在しないことを確認してから、新たにターミナルから入力しました。

fatal: unable to access 'https://github.com/User/App.git/': The requested URL returned error: 403

しかし、いくら正しいユーザー名とPATの組み合わせを入れても403でハジかれました。

PATの設定で権限を与える必要があった

Settings > Developer settings > Personal access tokensで新トークンを生成します。

まず今回、プライベートリポジトリで開発しようとしてたので、項目「Repository access」をデフォルトから「All repositories」に変更します。

変更すると、項目「Permissions」の中に、「Repository permissions」というタブが出現します。

ここで、「Contents」にRead/Write権限を与える必要がありました。

(了)

Discussion