1Passwordでgitのcommitにサインする

2023/05/13 12:20

※ 商品のリンクをクリックして何かを購入すると私に少額の報酬が入ることがあります【広告表示】

以前は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つの設定を別のものに変えてみたところ動作した(なんか状態がおかしかった?)。動作したら元に戻して大丈夫なはず。

Prev Entry

Next Entry