29
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Githubから届いたDeprecation Noticeメールに対応する

Posted at

メールをチェックしていたら、Githubから以下のようなメールが届いていた。

You recently used a password to access the repository at アカウント名/リポジトリ名 with git using git/2.22.0. Basic authentication using a password to Git is deprecated and will soon no longer work. Visit https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information around suggested workarounds and removal dates.

ざっくり和訳すると

最近[リポジトリ名]にパスワード利用しGitを使用しました。
ベーシック認証は非推奨になり、もうすぐ利用できなくなります。
代替策・利用できなくなる日についてはブログを確認ください。

認証まわり=セキュリティにも関わりそうなことので調査&対応しました。
前半はメール記載のブログの要約が多いので、やるべきことだけをサッサと済ませたい方は**何をすればいいのか?**以降を読んでもらえればと思います。

TL;DR

2021年8月13日から認証が必要なGit操作でパスワードを使った認証をできなくするから、
それまでにトークンorSSHキー認証に切り替えよう。

影響を受けるワークフロー

ブログのWorkFlows Affectedより

  • Gitコマンドを使ったアクセス
  • Gitを用いたデスクトップアプリ(例:Sourcetree)
  • パスワードを利用してGithubリポジトリ・Github.comにアクセスする全てのサービス

一方、以下のような利用・対応をしている場合は特に対応は必要ないとのこと

  • 2段階認証を利用中(既にトークンorSSHベースの認証を設定できている)
  • Githubエンタープライズサーバーを利用中
  • Github Appsを利用中

変更の理由

1 パスワード トークン 詳細
ユニーク パスワードは設定された物を使い回すのに対し、トークンは端末・使用する度に個別に生成される
ランダム ✖︎ トークンはランダムな文字列で生成されるため辞書型ブルートフォースアタックにも強い
制限性 ✖︎ トークンは権限のスコープが制限されているため漏洩による被害を最小限にできる。パスワードは漏洩したらユーザー権限の全てがリスクに晒されてしまう
取り消し容易性 ✖︎ トークンは認証情報を変えずに取り消し可能である。パスワードは、それ自体が認証情報であり取り消すことができない

これらの理由から、Githubでも2段階認証・デバイス認証といったセキュリティを高める機能が多数リリースされています。
にも関わらず、現在のユーザーの多くがパスワード認証を使い回し続けてしまっている。

セキュリティリスクの観点から、従来のパスワード認証を利用できなくしてでもユーザーに導入させるための対応のようです。

いつから使えなくなるのか?

ブラウンアウト(一時的にパスワード認証が利用できない状態)期間を経て、2021年8月13日からパスワード認証ができなくなります。

ブラウンアウトスケジュール(日本時間)
・2021年6月30日(水)16~19時
・2021年7月1日(木)1~4時
・2021年7月28日(水)16~19時
・2021年7月29日(木)1~4時

設定を忘れたままブラウンアウトを迎えないよう、注意したいところですね。

何をすればいいのか?

* 2段階認証だけを設定して、個人アクセストークンを設定しないと、Authentication failed for...となりローカルでのGit操作ができなくなります。両方とも忘れず設定しましょう。

対応手順

2段階認証を使用する

公式リファレンスが分かりやすいので、特に詰まることなく設定できます。
QRコードをスキャンするところでは、Googleの認証アプリが使えました。

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

こちらも公式リファレンスが充実しているほか、下記の記事がとても丁寧に解説して下さっています。

GitHubに二段階認証を設定した後にGit操作できない時の解決策

補足

・トークン入力を省略したい
トークン情報の入力するのが面倒な場合は認証情報ヘルパーの設定・更新をしましょう。

・ローカルのプロジェクトのリモートURLのHTTPS化
個人アクセストークンを使う場合、リモートリポジトリとの通信はHTTPSが必須になります。

# リモートのURLを表示
$ git remote -v

# https:がついてない場合はset-urlコマンドで書き換え
$ git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
29
28
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
29
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?