はじめに
今までLinux環境でGitHubに認証するとき毎回パスワードを手打ちしていた人向け
結論:入力した認証情報を保存する (Linux)
保存方法はどっちか選ぶ
常駐プロセスに一時記憶
$ git config --global credential.helper cache
ファイルに保存(平文)
$ git config --global credential.helper store
保存先は指定できるが無指定だと~/.git-credentials
に保存される
いちおう背景
最近になって GitHub にgit push
するとき、なにか注意を受けていることには薄々気付いていた
$ git push
Username for 'https://github.com': mtkhs
Password for 'https://mtkhs@github.com':
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.
「パスワード認証はサポートされなくなるから個人アクセストークンに切り替えてね」と
われわれに残された道は
- 公開鍵で認証する
- 従来のパスワード認証の代わりに「個人アクセストークン」で認証する
個人アクセストークンは、めっちゃ長いパスワード(自動生成される)で
付与する権限は自分で選べるが権限を限定してセキュアに運用しようねって感じ
(トークンは「ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx」みたいな感じ)
さすがにこれを毎回手打ちすることはムリなので認証情報を保存させようと考えたわけ
解決策
credential.helper
を設定すると認証情報を管理させられる!
設定するコマンドは以下
$ git config --global credential.helper [ほにゃらら]
[ほにゃらら]
はOS環境によって、Macならosxkeychain
、Windowsならwincred
やmanager
なども選択できる