パスワード認証の非推奨・停止
Gitでコミットした内容を、GitHubにpushするのにユーザー名とパスワードの入力したところ、問題なく内容は反映されたが以下のようなメールが届いた。
Hi @taustation,
You recently used a password to access the repository at taustation/hello-world with git using git/1.8.3.1. 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. Thanks, |
リモートでのパスワード認証が2021年8月13日以降できなくなるらしい。
さらに、GitHubへのサインインの認証を2要素認証に変更したところ、パスワード認証ができなくなった。
1 2 3 4 5 |
[vagrant@localhost tutorial]$ git push https://github.com/taustation/tutorial master Username for 'https://github.com': taustation Password for 'https://taustation@github.com': remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/taustation/tutorial/' |
トークン認証
トークン認証への変更
- ヘッダーメニューのドロップダウンで”Settings”を選択
- 設定ページへ遷移
- 左メニューの”Developper settings”を選択
- 遷移後ページの左メニューで”Personal access tokens”を選択
- 右上の”Generate new token”ボタンをクリック
- New personal access tokenページへ遷移
- Noteのテキストボックスに、トークンの説明を入力
- たとえば”For repository”など
- トークンの期限(Expiration)を設定
- 無期限もあるが、有限にするのが望ましい
- scopeを設定
- リポジトリーのpush/pull中心ならトップの”repo”にチェックで十分
- “Generate token”ボタンを押してトークンを生成
トークンを使った認証
改めてユーザ名とトークンを使ってGitの内容をpushする。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[vagrant@localhost tutorial]$ git push https://github.com/taustation/tutorial master Username for 'https://github.com': taustation Password for 'https://taustation@github.com': Counting objects: 5, done. Compressing objects: 100% (2/2), done. Writing objects: 100% (5/5), 368 bytes | 0 bytes/s, done. Total 5 (delta 0), reused 0 (delta 0) remote: remote: Create a pull request for 'master' on GitHub by visiting: remote: https://github.com/********/tutorial/pull/new/master remote: To https://github.com/********/tutorial * [new branch] master -> master |
トークンの内容をコンソールに貼り付けても表示のフィードバックがないが、Enterキーを押して無事処理された。
SSH認証
SSH認証を設定すると、ユーザー名・パスワードの入力が必要なくなる。
- ローカルで秘密鍵・公開鍵を生成
- 公開鍵をGitHubに登録
- ローカルで秘密鍵登録設定