GithubのHTTPS接続でハマった
個人開発で新リポジトリつくろうとしたら意外と手間取ったので、作業メモを残します。
はじめに
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)を使ってね、ということになりました。
ここまでが前提です。
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