名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。アクセス解析のためGAを利用、Googleに情報を送信しています。商品紹介のためAmazonアフィリエイトを利用、Amazonに情報を送信しています。記事に関しては私が書いていない引用文を除いて自由にご利用ください。

GitのSignedコミットが失敗する他の要因

先日の記事に引き続き。

https://namonakimichi.hatenablog.com/entry/2020/06/03/060000

会社のPCでもある日突然出来なくなったので、設定し直したんですが、また別のハマりポイントがありました。(休憩がてら少し直してた)

書き込み権限

.gnupg の書き込み権限がなくなってたっぽい。 sudo をつけたら成功しましたが、アプリケーション側(ここではgit)からの呼び出しがコケるので、全部鍵消してフォルダごと一回消しました。

インタラクティブShellが上手く起動しない問題

これエラーログがあんまり出なかったので全然気づけなかったです。下記みたいなコマンドにしたら詳細に出たので、原因掴むのには使えるかも(記憶ベースなので間違えてるかも)。

gpg --gen-key --debug-all -vvv

失敗しているタイミングはパスフレーズ設定のところでした。

これも気がついたのが、先日も貼ったstackoverflowの記事でした。

https://stackoverflow.com/a/47087248

ここのpinentry-programと言うやつが、いわゆるパスワード設定が出るインタラクティブインターフェイスだと解釈しました。

どうやらこれのかみ合わせが悪いと鍵の生成に失敗するようです。(エラーログもそんな感じのところで失敗していた)。

どういう指定にしたかは忘れましたが、下記のArchlinux wikiで設定できるとあったのでこれをいくつか試したような記憶。

https://wiki.archlinux.jp/index.php/GnuPG#pinentry

pinentry 変えたら無事に鍵ができました。

GPG_TTY が正しくないケース

2敗目です。前の記事でも取り上げてるので詳細は省きますが、 export GPG_TTY=$(tty) したら直った。

まとめ

Linuxインタラクティブなインターフェースの存在を知りました。これはこれで学びになりました。 なにか活かす機会があるかはわかりませんが、存在を知らなければ使おうという発送が出にくいので良い機会だったと思います。

またpgpsignしたいだけなのに罠多すぎという気持ちになったのと、stackoverflowやっぱすごいわと思いました。

終わり。