プログラミング

【GitHub】authentication failedが出る時の解決方法【図解】

【GitHub】authentication failedが出る時の解決方法【図解】

GitHubからソースコードをgit cloneしようとしたところ、突如現れたエラー。

 

 command
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/donachiki1017/StopTheRot.git/

 

gitの設定(config)なんて変えた記憶はないんだけど、なぜだ?

 

という現象の原因と解決策です。

 

原因

GitHubへアクセスするためには認証する必要がありますが、2021/8/13以降にポリシーが変わり、従来のパスワード認証によるHTTPSアクセスができなくなりました。

 

Token authentication requirements for Git operations

 

 

以降、GitHubへアクセスするためには以下のいずれかの方法が必須になりました。

  • 2 要素認証を使用したユーザ名とパスワード
  • 個人アクセストークン
  • SSH キー

[GitHub への認証方法について - GitHub Docs]

 

今回は個人用の開発用途で、GitHubに対してリポジトリ操作ができればOKなので、個人アクセストークン(PAT: Private Access Token)を用いる方法で解決しました。

 

解決方法【図解】

公式の手順に従って個人アクセストークン(PAT: Private Access Token)を作り、パスワードの代わりに作成したトークンを指定すればOKです。

[個人アクセストークンを使用する - GitHub Docs]

 

Private Access Tokenを作ってgit操作する手順

  1. GitHubでPrivate Access Tokenを作る
  2. git clone等の操作時に、PasswordにPrivate Access Tokenを指定する

 

環境

  • macOS Big Sur バージョン 11.5.2
  • git version 2.30.1

図はMacのものを使っていますが、Windows(Git for Windows)でも同じです。

 

GitHubでPrivate Access Tokenを作る

1. GitHubへアクセスします。

 

2. 右上のProfile > Settingsをクリックします。

 

GitHub - Private Access Tokenを作る手順

 

3. Developer Settingsを選択

 

GitHub - Private Access Tokenを作る手順

 

4. Personal access tokensを選択

 

 

GitHub - Private Access Tokenを作る手順

 

5. Generate new tokenを選択

 

GitHub - Private Access Tokenを作る手順

 

トークン生成画面では以下を設定します。

Note何に対するトークンかわかるような識別子。トークンによってアクセス権限や設定できることを変えることができるので、後から見てわかるように。特に事情がなければmy access tokenとかでも。
Expirationトークンの有効期限。
Select scopesトークンを使ってできる権限の範囲。リポジトリにアクセスする用途であればrepoにチェックを入れればOK。

 

GitHub - Private Access Tokenを作る手順

 

6. Generate tokenをクリック

 

GitHub - Private Access Tokenを作る手順

 

すると、Personal access tokens画面に、何やら暗号が表示されます。これがPrivate Access Tokenです。

これを忘れずにコピーします。

※再表示はできないため、コピーを忘れてブラウザを閉じてしまうと再度生成することになるので注意

 

Gitのパスワードにトークンを設定する

ターミナルで再度git操作をします。

例えばgit cloneをすると、UsernameとPasswordを聞かれるようになるはずです。

ここのパスワードで先ほど生成したPrivate Access Tokenを指定します。

 

 command
git clone https://xxxxx@github.com
Username for 'https://github.com': GitHubアカウントのユーザ名
Password for 'https://xxxxx@github.com':  先ほど生成したトークンを入力

 

めでたしめでたし。

 

テックアカデミー(TechAcademy)

現役エンジニアから学べるオンラインに特化したプログラミングスクール。オンラインプログラミングスクールの受講者数は業界No.1。講師は全員、通過率10%の選考に合格した現役エンジニア。確かなスキルをもとに受講生をマンツーマンサポートします。



DMM WEBCAMP

働きながらITエンジニア転職を目指せる転職補償付きのプログラミングスクール。学習サポートのエキスパートであるライフコーチによる的確な学習サポートと、転職成功率98%の実績を持つエンジニア転職に特化したキャリアアドバイザーの強力な転職活動のバックアップ体制は受講生から高い支持を受けています。



ヒューマンアカデミー

働きながらエンジニア就職を目指してプログラミングスキルを身につけることができるスクール。未経験からの就職成功率は90.6%という高い実績を誇ります。独自の映像教材によりスキマ時間を活用した学習が可能です。オンラインでの学習に加え、全国に29校舎展開された教室で講師に直接質問や、キャリアの相談をすることも可能なスクールです。

-プログラミング
-

© 2021 ドナブログ Powered by AFFINGER5