LoginSignup
0
0

More than 1 year has passed since last update.

Railsチュートリアル 1.4.3 Push時のエラー解決方法

Posted at

Railsチュートリアル第1章の1.4.3で、Githubへのpush時にエラーが出るようになっているので、
解決方法のメモとなります。

エラー内容

チュートリアルの1.4.3で下記コマンドを実行するとエラーが発生する。

$ git push -u origin master
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.

調べてみるとGitHubが2021年8月13日にパスワード認証を廃止したことが原因のようです。
https://news.mynavi.jp/article/20201222-1604003/

Railsチュートリアルでは、HTTPSを選択するように指示されているためにエラーが発生します。
そのため、Railsチュートリアルでは、「もうひとつのSSHオプションは中級ユーザー向けなので、SSH鍵の生成や設定を問題なくできる方はそうしていただいて構いません。」と記述されているのでSSHオプションでのやり方を説明します。

SSHオプションでの設定方法

SSH 公開鍵の作成

SSHで接続するには、Githubに登録する公開鍵の作成が必要となるので、下記コマンドを実行して公開鍵を作成します。

$ cd ~/.ssh
$ ssh-keygen
$ cat ~/.ssh/id_rsa.pub

詳しくはこちらが参考になりました。

Githubに公開鍵を登録する

https://github.com/settings/keys のページから登録出来ます。

右上にあるNew SSH keyボタンをクリックします。
スクリーンショット 2021-09-27 21.23.15.png

「Title」には任意の名前を、Keyには、$ cat ~/.ssh/id_rsa.pubを実行時に表示された公開鍵を貼り付けます。
記述出来たらAdd SSH keyをクリックして登録完了です。
スクリーンショット 2021-09-27 21.25.50.png

gitのリモートoriginを変更する

Railsチュートリアル通り進められている方だとエラーが出た時点で、
下記コマンドを実行済みのためHTTPSでリモートoriginに追加されています。

$ git remote add origin https://github.com/<あなたのGitHubアカウント名>/hello_app.git

そのため下記コマンドを実行して、SSHで設定し直します。

$ git remote set-url origin git@github.com:<あなたのGitHubアカウント名>/hello_app.git

正しく変更が出来ていた場合、下記コマンドを実行すると下記のような表示になるはずです。

$ git remote -v
origin  git@github.com:<あなたのGitHubアカウント名>/hello_app.git (fetch)
origin  git@github.com:<あなたのGitHubアカウント名>/hello_app.git (push)

Githubリポジトリにpushする

下記コマンドを実行して、Githubにコードが反映されていれば成功です。

$ git push -u origin master
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0