※ 商品リンクから購入されると少額の報酬が発生することがあります。
以前はKeybaseの鍵でGitHubのcommitにサインしていたりしたのだけれど、Keybase自体を忘れてしまったりして意識低い感じになっていた。
GitHubのSSH keysにSinging Keyという種別があったので、GPG keyではなくてSSH Keyと1Passwordの連携でものぐさな自分も意識高く維持できそうなので設定をした。
公式のブログ記事
公式の記事 Sign your Git commits with 1Password の通りにやるとKeyの生成なども含めてできる(のだが、罠があった)。
できてしまえば体験としてはだいぶ楽チンだし失われなくて良さそう。
commit時にエラーが出る
commit時、認証を求めるダイアログを通過した後にコンソールにエラーが出てcommitできない。
error: agent returned an error
fatal: failed to write commit objectエラーログを見てみる。 macOS(venture)の場合、以下のような深い場所にログがある。tail -f して再度commitしてみる。
$ tail -f ~/Library/Group\ Containers/2BUA8C4S2C.com.1password/Library/Application\ Support/1Password/Data/logs/1Password_rCURRENT.log
...
ERROR 2023-05-13T02:05:07.571 tokio-runtime-worker(ThreadId(6)) [1P:op-app/src/app/backend/unlock.rs:324] NoNewAccountsUnlocked
INFO 2023-05-13T02:05:07.574 tokio-runtime-worker(ThreadId(6)) [1P:ssh/op-ssh-agent/src/lib.rs:541] Session was not authorizedよくわからず、 ~/.ssh/config に設定したIdentityAgentのファイル(sock)があるか確認してみても存在していて不明。
1Passwordの設定 → 開発者 → SSHエージェント → セキュリティの以下の2つの設定を別のものに変えてみたところ動作した(なんか状態がおかしかった?)。動作したら元に戻して大丈夫なはず。
新しいものごとに承認を求める
重要な承認を覚えておいてください