GitHubを使ってpushすると、パスワードが求められた話

githubを使ってpushするとパスワードが求められた話

こんにちは、かんたろうです。

最近使い始めたMacBookでgithubを使ったpushができないという事象に遭いました。

pushをするためにgit pushコマンドを打つと、パスワード入力が求められたので、馬鹿正直にgithubアカウントのパスワードを入力してみると、エラーが出たのです。

今回は「なぜエラーが出たのか?」「どう対応したのか?」について備忘録としてまとめていきたいと思います。

git pushコマンドで認証エラーが発生

パスワードが求められたタイミングで、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.
fatal: Authentication failed for 'https://github.com/(ユーザー名)/(レポジトリ名)/'

メッセージ内容について、ChatGPTに日本語での解説をお願いすると、以下のような返事が来ました。

ChatGPT
ChatGPT

このエラーメッセージは、GitHubが2021年8月13日にパスワード認証のサポートを終了したため、git pushコマンドで認証エラーが発生していることを示しています。

かんたろう
かんたろう

ええ、パスワード認証のサポートを終了したのに、パスワード入力が求められたの?

かんたろう
かんたろう

git pushコマンドで認証エラーが発生、、、

認証エラーを解決させねばならぬということか。

パーソナルアクセストークン(PAT)やSSHキーを使用

ChatGPT
ChatGPT

この問題を解決するためには、代替の認証方法を使用する必要があります。例えば、パーソナルアクセストークン(PAT)SSHキーを使用することができます。

ChatGPT
ChatGPT

以下に、それぞれの方法についての手順を示します。

かんたろう
かんたろう

ありがて〜〜〜

パーソナルアクセストークン(PAT)の使用手順

以下、ChatGPTが示してくれた「パーソナルアクセストークン(PAT)の使用手順」です。

  • GitHubのアカウント設定にアクセスし、「開発者設定」→「パーソナルアクセストークン」を選択します。
  • 必要な権限を持つ新しいトークンを生成します。
  • トークンをコピーします。
  • 認証時にパスワードを求められた場合は、トークンをパスワードとして貼り付けます。
ChatGPT
ChatGPT

適切な認証方法を設定した後、再度レポジトリをクローンしてみてください。これにより、認証エラーが解決されるはずです。

SSHキーの使用方法

以下、ChatGPTが示してくれた「SSHキーの使用手順」です。

  • ローカルマシンでSSHキーペアを生成します(まだ生成していない場合)。
  • GitHubのアカウント設定の「SSHとGPGキー」に公開鍵を追加します。
  • HTTPS URLの代わりにSSH URLを使用して、レポジトリをクローンします。
ChatGPT
ChatGPT

適切な認証方法を設定した後、再度レポジトリをクローンしてみてください。これにより、認証エラーが解決されるはずです。

githubでパーソナルアクセストークン(PAT)の発行

githubでログインをして、自分のアイコンマークをクリック。

Settingsをクリック。

Settingsページを開いた後、

画面の下の方に行くと、「Developer settings」という項目があるので、そこをクリック。

Developer settingsページを開き、「Personal access tokens」を選択。

「Fine-grained tokens」のBeta版も用意されていたが、今回は「Tokens(classic)」を選びました。

「Generate new token」で新しいトークンを生成してもらいます。

次の画面で以下の設定を行っていきます。

  • Note → 利用目的
  • Expiration → 有効期限
  • Select scopes → 対象範囲

(以下、参考記事)

GitHubのAccess token認証方法とは?Password認証の廃止 | ポテパンスタイル
GitHubでは2021年8月13日以降、 Password認証によるGit操作を廃止する対応が取られました。本記事では、GitHubでPassword認証に変わって利用可能なAccess token認証とSSH接続を利用する方法についてご

Select scopesでどれを選べば良いか分からない方はとりあえず「repo」にチェックを付けておきましょう。
これでローカルにクローンするなどのリポジトリ操作が可能となります。

https://style.potepan.com/articles/34189.html

設定後、「Generate token」をクリックすると、パーソナルアクセストークン(PAT)の発行が完了します。

画面にAccess token文字列が表示されますので、コピーしておきましょう。

※コピーせずに画面を閉じたり切り替えてしまうと、再発行する羽目に遭います。

再度pushしてみた

もう一度、git pushコマンドを打ち、パスワードが求められたところで先ほどコピーした文字列をペーストしました。

すると、無事push完了させることができました。

今回、pushしたのは職業訓練生だった頃に制作したポートフォリオサイトの変更分です。

よかったら覗いてみてください。↓

KANTARO'S PORTFOLIO
タイトルとURLをコピーしました