【问题标题】:How to enter gnupg-agent key passhprase from CLI?如何从 CLI 输入 gnupg-agent 密钥密码?
【发布时间】:2018-03-26 12:38:40
【问题描述】:

我确实使用 git 签署了提交,这是一个大问题,我无法从 CLI 以外的任何地方输入 gpg 密钥密码。例如,如果我在 vscode 中提交,它将失败。所以我想出了一个想法,只需从 CLI 输入密码,并将其缓存一段时间。

我在这里使用的是鱼壳,所以这是一个配置:

set -x GPG_TTY (tty)
eval (gpg-agent --daemon --allow-preset-passphrase  --default-cache-ttl 43200)

据我了解,我需要启用为代理预设密码。那么现在下一步是什么?

我试过这样预设一个键,但失败了:

$ echo mypassphrase | /usr/lib/gnupg2/gpg-preset-passphrase -c E2AB66331DA5CA780B7B1FA5D4BF11DA1E39EDFF

gpg-preset-passphrase: caching passphrase failed: Not supported

我已经搜索了所有可能的内容,但没有人在任何地方回答这个问题。有ssh-add这样的东西就好了,你只需添加一个私钥,然后输入密码,想知道为什么gpg-agent没有采用这种好的设计。

【问题讨论】:

    标签: gnupg


    【解决方案1】:

    似乎解决了。需要向~/.gnupg/gpg-agent.conf 添加一些内容:

    default-cache-ttl 46000
    pinentry-program /usr/bin/pinentry-gtk-2
    allow-preset-passphrase
    

    重新加载 gpg-agent

    gpg-connect-agent reloadagent /bye
    

    【讨论】:

    • 您是否必须手动创建 conf 文件。启动 gpg-agent 后我实际上并没有看到这样的文件
    猜你喜欢
    • 2016-12-25
    • 2014-05-11
    • 2014-04-27
    • 2021-11-29
    • 2019-01-17
    • 1970-01-01
    • 2021-08-14
    • 2014-05-21
    • 2012-07-02
    相关资源
    最近更新 更多