GitHubのリポジトリにHTTPS経由でPUSHするためにはGit Credential Managerを使う必要がある(パスワードでのログインが2021年で終了しているため)。Git Credential Manger をインストールする際のメモ。
事前設定
Credential storesの記載にしたがいながら設定する。
まず、gpgとpassをインストールする(該当個所)。
% sudo apt install gpg % sudo apt install pass
GPGを使えるようにしたり、パスワードを保存しておくディレクトリの作成を行う。
% git config --global credential.credentialStore gpg % pass init <gpg-id> % gpg --gen-key
次にキャッシュの設定を行う (該当個所)。
% git config --global credential.credentialStore cache % git config --global credential.cacheOptions "--timeout 300"
Git Credential Managerのインストール
Debianパッケージを利用する (該当個所)。
最新版からDebパッケージをダウンロードしてくる。
github.com
以下の例でのダウンロードURLは最新版のものにすること。
% wget https://github.com/git-ecosystem/git-credential-manager/releases/download/v2.4.1/gcm-linux_amd64.2.4.1.deb % sudo dpkg -i gcm-linux_amd64.2.4.1.deb % git-credential-manager configure
初回アクセス時
ログインが必要な処理(git clone, git push, git pull)を行う初回時にGit Credential Manager経由でログインを行う。なお、日本語環境で運用していると「fatal: Default font family name can't be null or empty」というメッセージがでてうまくいかない。Git Credential Manager (GCM) でGithubへの認証をセキュアに実現する (Windows, WSL2, Linux)で記載のとおり、英語環境でgitコマンドを実行する。
% LC_ALL=C git clone https://github.com/...
すると、別ウィンドウが起動し、Git Credential Manager経由でGitHubにログインし、キャッシュの設定期間の間、GitHubのログインを自動化してくれる。