如何解决如何编写 `gpg --edit-key` 操作的脚本?
我获得了一个 YubiKey 并打算将 pass
与它一起使用,所以我正在尝试编写我的密钥生成脚本并移动到卡以进行轮换。令我沮丧的是,gpg 在很多操作中都不支持批处理模式,--edit-key
和 --edit-card
是该列表的一部分,它也不能基于命令行参数进行操作。我发现这在 CLI 工具中令人震惊,至少可以这么说!
显然我尝试重定向 stdin,但是在脚本中运行 gpg --batch --gen-key
时会抱怨 pinentry 的 ioctl 问题并需要设置 GPG_TTY,在这里它不知何故知道如何在没有任何帮助的情况下使用 tty。方便...
那么我如何编写这些子命令的操作脚本,最好在需要时使用 pin 输入对话框,这样我就不必在脚本中自己运行它?
解决方法
原来有 --command-fd
和 --status-fd
选项。它们可以这样使用:
GPG_TTY=$(tty) gpg --command-fd=0 --status-fd=1 --expert --edit-key $KEY
如果您想通过标准输入而不是使用 pinentry 输入密码,请同时传递 --pinentry-mode loopback
参数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。