LoginSignup
21
11

More than 1 year has passed since last update.

git pushの接続方式をhttpsからsshに切り替える

Last updated at Posted at 2021-08-19

@ttdodaさんよりコメントにてご指摘をいただき編集させていただきました。
ありがとうございました!

※私自身@ttdodaさんからご指摘いただいて知ったのですがGitHubはhttpsのアクセストークンでの接続を推奨しているようです。そちらの方法は最後に記載していますので興味のある方は参照ください。


2021年8月13日githubでhttpsでgit pushなどのコマンドが使えなくなりました。
git pushなどを実行すると以下のメッセージが表示されるようになりました。

errror.sh

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への接続方式の一つhttpsによる認証ができなくなりましたよという内容で
HTTPSでの認証でアカウントパスワードが使えなくなったというものです。
影響範囲の詳細はエラーメッセージ内のURLを参照してください。
https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/

※以下exampleは自分の環境の値に置き換えて試してみて下さい。

ローカルからリモートの設定を確認

ローカルとはプッシュする時のプッシュ元
リモートとはプッシュした時のプッシュ先
のことです。
ローカルの多くは自分が操作しているPCの事を指します。
以下のコマンドは自分が操作しているPCのgitを設定している
ディレクトリのルート(一番上の階層)で打ちます。

remote.sh

$ git remote -v
origin  https://github.com/example/sample_app.git (fetch)
origin  https://github.com/example/sample_app.git (push)

これでリモートにhttpsで接続していることが確認されました。

gitのリモートを変更します。

ここで一つ確認をします。
github.png
↑これはGitHub上のリモートリポジトリ画面のCodeをクリックすると表示されるのですが
画像のところでsshのアドレスが表示されていない場合はGitHubにkeyが登録されていない可能性があります。
一度以下のアドレスにアクセスしてみて登録がなければ先に登録を行ってみて下さい。
https://github.com/settings/ssh

アドレスが取れた場合はローカルにて以下を打ちます。

chnage.sh

$ git remote set-url origin git@github.com:example/example_app.git

#以下のコマンドで変更されたか確認します。変更されていれば成功です。
$ git remote -v
origin  git@github.com:example/example_app.git (fetch)
origin  git@github.com:example/example_app.git (push)

あとは以下の手順でssh keyを新たに作成して登録すればpushができるようになると思います。
GitとGitHubをSSHで接続する

どうしてもhttpsでgit pushがしたい|GitHub推奨

そんな時はトークンが使えます。
1.GitHubでログインした状態で画面右上の[ユーザーアイコン]をクリックします。
2.[Settings]をクリックします。
3.[Developer settings] をクリックします。
4.[Personal access tokens]をクリックします。
5.[Generate new token] をクリックします。
6.トークンの名前(任意)、有効期限、権限を設定してトークンを作成します。
githubtoken.png
自分の場合は↑のように設定しましたがチェックをはずすと権限を絞れます。
7.トークンが表示されますのでメモします。画面遷移すると確認できなくなりますのでご注意下さい。
このトークンをパスワードの代わりに使うとhttpsでgit pushができました。
(検証環境 : cloud9 → GitHub)

参考ページ

個人アクセストークンを使用する

21
11
2

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
21
11