👻
httpsでgitのパスワードを毎回入力したくない (主にLinux)
TL;DR
- httpsのパスワードを暗号化して自動保存
- 毎回パスワードを打つ必要がないよ
- Caching your GitHub credentials in Gitを見ると良い
-
Windows
- 昔試した気がする
-
Mac
- 未検証
-
Linux
- 上2つのページに書いてある方法だとできない
やりたいこと
https
のclone
でもssh
と同じようにパスワードを打ちたくない!
パスワードを平文保存したくない。
Git Credential Manager Core (GCM)
パスワードを保存/キャッシュしてくれるGit Credential Manager Core
がある。これは、複数のパスワードの管理方法を選ぶことができる。git clone
して一度パスワードを入力すると、自動でパスワードを覚えてくれる。なので、2回目以降はパスワードを覚える必要がない。
いくつかのサイトでは下2つが紹介されているが、私の使い方では両方ともよろしくない。
-
git config credential.helper store
- ずっと入力する必要がない
- 平文でパスワードが保存されてしまう
-
git config credential.helper cache
- メモリに保存する。デフォルトで15分でキャッシュが切れる
- メモリに保存する=再起動すると消える
暗号化して保存したい!
Mac
osxkeychain helper
がよい。私は試したことがないが、このサイトが参考になると思います。
Windows
wincred
がよい。昔試したときは、正常に動作しました。ネット上に記事がたくさん転がっているので、詳細はそちらにおまかせします。
Linux
gnome-keyring
がよいと多くのサイトで紹介されているが、脆弱性かなにかがあるみたいで削除されているみたい(あまり良く知らない)。
そこで、GCM+secretservice
を使う。
詳細はGCMのレポジトリとcredential storesを読んでほしいが、debファイルをダウンロードして下のコマンドを実行すると、自動でパスワードを暗号化して保存してくれる。
sudo apt-get install (ダウンロードしたdebファイル)
git-credential-manager-core configure
git config --global credential.credentialStore secretservice
Discussion