TL;DR (忙しい人のための3行まとめ)
- 2021 年以降、GitHub は
git clone時のパスワード認証を廃止しています。 - パスワードの代わりに「パーソナルアクセストークン ( Personal Access Token / PAT )」の発行が必要です。
- 「Repository not found」はリポジトリがないのではなく、権限不足(認証失敗)の可能性が大です。
Introduction
久しぶりに新しい環境で git clone をしようとしたら、こんなエラー画面に遭遇して焦った経験はありませんか?
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.
fatal: Authentication failed for 'https://github.com/...'
「あれ? パスワードは合ってるはずなのに……」
実はこれ、あなたの入力ミスではありません。GitHub のセキュリティ仕様変更により、従来のパスワード認証が使えなくなったこと が原因です。
本記事では、このエラーを解決し、安全にプライベートリポジトリを clone するための手順( Personal Access Token の発行と使い方)を、初心者の方にもわかりやすく解説します。
Prerequisites (前提環境)
- Git: インストール済みであること
- GitHub Account: アカウントを所有しており、ブラウザでログイン可能であること
- Target Repository: アクセスしたいリポジトリの URL
1. なぜエラーが出るのか?
エラーメッセージにある通り、GitHub は 2021 年 8 月 13 日 にパスワード認証のサポートを終了しました。セキュリティ強化のため、現在は以下のいずれかの方法で認証を行う必要があります。
- SSH 認証 (公開鍵・秘密鍵を使用)
- HTTPS 認証 (Personal Access Token を使用)
今回は、質問者様の状況に合わせて、より手軽に導入できる 「2. HTTPS 認証 (Personal Access Token)」 での解決方法を紹介します。
2. Personal Access Token (PAT) を発行する
まずは、パスワードの代わりとなる「鍵(トークン)」を作成しましょう。
手順
- ブラウザで GitHub にログインします。
- 右上のアイコンをクリックし、メニューから Settings を選択します。
- 左サイドバーの一番下にある Developer settings をクリックします。
-
Personal access tokens → Tokens (classic) を選択します。
- ※ Beta 版もありますが、今回は枯れている技術である Classic を選択します。
- Generate new token → Generate new token (classic) をクリックします。
設定項目
トークン発行画面では、以下のように設定してください。
| 項目 | 設定内容 | 補足 |
|---|---|---|
| Note |
my-laptop-2025 など |
何に使っているトークンか判別できる名前を付けましょう。 |
| Expiration |
90 days 推奨 |
有効期限です。セキュリティ上、無期限(No expiration)は避けましょう。 |
| Scopes | repo にチェック |
プライベートリポジトリを操作するために必須です。 |
設定できたら、画面下部の Generate token をクリックします。
⚠️ 重要: トークンをコピーしてください!
生成されたトークン(ghp_から始まる文字列)が表示されます。
この画面を閉じると二度と表示されない ため、必ずメモ帳やパスワードマネージャーにコピーして保存してください。
3. トークンを使って git clone する
トークンが取得できたら、いよいよ git clone です。2 つの方法があります。
方法 A: URL にトークンを埋め込む(一番確実)
コマンドラインで以下のように入力します。YOUR_TOKEN の部分を、先ほどコピーした文字列に置き換えてください。
# 構文: https://ユーザー名:トークン@github.com/組織名/リポジトリ名.git
git clone https://YOUR_NAME:ghp_YOUR_TOKEN_HERE@github.com/Gifted-People-Support-Association/DB-Project-EEE.git
この方法なら、対話的な認証をスキップして一発でクローンできます。
方法 B: 認証プロンプトに入力する
通常の URL で実行し、パスワードを聞かれたタイミングでトークンを入力する方法です。
git clone https://github.com/Gifted-People-Support-Association/DB-Project-EEE.git
実行後、以下のように聞かれます。
-
Username: GitHub のユーザー名を入力 -
Password: 先ほど発行したトークン を入力(※GitHub のログインパスワードではありません!)
これで認証が通り、Cloning into... が始まれば成功です。
4. 「Repository not found」の罠
認証エラーと合わせてよく発生するのが以下のエラーです。
remote: Repository not found.
fatal: repository '...' not found
「URL は合っているのに Not found?」と混乱しがちですが、これは 「セキュリティのため、アクセス権がない人にはリポジトリの存在ごと隠している」 という GitHub の挙動です(403 Forbidden ではなく 404 Not Found を返す仕様)。
もしトークンを使ってもこのエラーが出る場合は、以下を確認してください。
-
トークンの Scope 設定: 作成時に
repoにチェックを入れましたか? - 組織 (Organization) の権限: 所属する組織の設定で、Personal Access Token (Classic) の利用が制限されている場合があります。管理者に問い合わせるか、SAML SSO 認証が必要なケースがあります。
Conclusion
GitHub の認証エラーは、仕様変更を知らないとハマりやすいポイントです。
- パスワード認証は終了している。
- 代わりに Personal Access Token (PAT) を発行する。
- パスワード入力欄には PAT を入力する。
これさえ覚えておけば、今後PCを変えたりトークンの期限が切れたりしてもスムーズに対応できるはずです。
無事に clone できたら、開発を楽しみましょう!
References
⚠️ 本記事に関する注意
- 本記事は執筆時点の情報に基づき作成しています。