在 git commits (gpg) 中,git命令总是在gpg-agent运行时询问密码。
我启动GPG代理与
$ eval `gpg-agent -s --enable-ssh-support --daemon --write-env-file $HOME/.gpg-agent-info`
Run Code Online (Sandbox Code Playgroud)
然后我打开另一个终端并检查它是否正在运行:
$ cat ~/.gpg-agent-info
GPG_AGENT_INFO=/tmp/gpg-w2HH4r/S.gpg-agent:28539:1
SSH_AUTH_SOCK=/tmp/gpg-QQTJCD/S.gpg-agent.ssh
SSH_AGENT_PID=28539
$ ps -u $USER | grep gpg-agent
28539 ? 00:00:00 gpg-agent
$ echo $GPG_AGENT_INFO $SSH_AUTH_SOCK $SSH_AGENT_PID
/tmp/gpg-w2HH4r/S.gpg-agent:28539:1 /tmp/gpg-QQTJCD/S.gpg-agent.ssh 28539
$ echo test | gpg-aes -t D2FA51BD --use-agent | gpg --use-agent
....
test
....
Run Code Online (Sandbox Code Playgroud)
第一个“ .... ”说,这是需要一个密码和GPG代理launchs的pinentry-GTK-2 。最后一个 ' .... ' 表示gpg正在使用密钥 ID 进行签名。
再次运行相同的命令不会要求输入密码
.
但是在运行 git 时, …