💫
Githubのorganization, teamアカウントでpushできないんだが - 2FA(2段階認証)に伴う設定 Repositor
こんにちは!?
今回、会社でGitHubのTeamsプラン(以下、便宜的にorganizationアカウントと言います)を契約したのですが、そのorganizationアカウントからリモートリポジトリを作成し、プロジェクトをpushしようとしたらエラーが出ました。
エラー内容はこんな感じ。
remote: Repository not found.
fatal: repository 'https://github.com/{organizationName}/{repositoryName}.git/' not found
ああ、これはGitHubの2FA(2段階認証)した時に必要なTokenの問題だなあ、見たことあるなあと思い、organizationアカウントからサイドメニューのsetting> Developer settingsを漁るも該当箇所が存在せず。
いやいやいや、organizationアカウントからはToken発行できないの?何で!?と思ったのでまとめておきます。
ちなみに、organizationアカウントを管理しているadminアカウントのtokenだけ設定した場合のエラーはこんな感じ
% git push origin main
remote: Personal access tokens (classic) are forbidden from accessing this repository.
fatal: unable to access 'https://github.com/{organizationName}/{repositoryName}.git/': The requested URL returned error: 403
結論
お急ぎの方のために結論から申し上げますと、
- organizationアカウントからはToken発行できない。
- 変わりに、https://github.com/{organization} 内のsettings > Personal access tokens からPersonal access token (classic)のステータスを
Allow access via personal access tokens (classic)
にしなければならない。(個人アカウントでそのように設定している場合) - リモート登録時の書式は以下
- https://{ユーザ名}:{tokens}@github.com/{ユーザ名}/{リポジトリ名}.git
GitHub Pages用のリポジトリを作成した際の例:
ユーザー名:neko
tokenes:on1kugaTabeta1y000
リポジトリ名:tora.github.io.git
https://neko:on1kugaTabeta1y000@github.com/neko/tora.github.io.git
結論書いたところでもうこの先書くことあまりないですが…
ハマったところ
- git remote add origin https://github.com/{organization}/{repo}.git
-
https://{ユーザ名}:{tokens}@github.com/{ユーザ名}/{リポジトリ名}.git
の書式とごっちゃになって、URLの間違いに気づかなかった(初歩的)
参考
Organization の個人用アクセス トークン ポリシーを設定する
GitHubの新しい個人と組織のpersonal access tokensを解説
githubで2段階認証を設定したらpushできなくなった
Discussion