Gpg

如何獲取更多 gpg-agent 資訊?

  • October 22, 2020

我 使用 gpg 教程跟踪了加密的 netrc 文件。我編輯了我的

~/.profile

像這樣

if test -f $HOME/.gpg-agent-info && \
   kill -0 `cut -d: -f 2 $HOME/.gpg-agent-info` 2>/dev/null; then
   GPG_AGENT_INFO=`cat $HOME/.gpg-agent-info | cut -c 16-`
else
   # No, gpg-agent not available; start gpg-agent
   eval `gpg-agent --daemon --no-grab --write-env-file $HOME/.gpg-agent-info`
fi
export GPG_TTY=`tty`
export GPG_AGENT_INFO

這是ls為了./gnupg

~/.gnupg$ ls
openpgp-revocs.d  private-keys-v1.d  pubring.kbx  pubring.kbx~  random_seed  trustdb.gpg

它不起作用,當我重新啟動我的 Ubuntu 錯誤時,我已經有一個 gpg-agent 正在執行。如何檢查並解決此問題?

eval `gpg-agent --daemon --no-grab $HOME/.gpg-agent-info`
gpg-agent: a gpg-agent is already running - not starting a new one

該教程已過時,您~/.profile現在應該添加的只是GPG_TTY=$(tty).

在現代 Ubuntu 系統上,GPG 代理套接字已在/run/user/$UID/gnupg其中,systemd 將在執行並嘗試訪問代理套接字gpg-agent時自動為您啟動。gpg

為了確認這一點,gpgconf --list-dirs agent-socket將顯示它用於套接字的路徑,並且systemctl --user status gpg-agent應該顯示已經執行的代理的狀態。

引用自:https://unix.stackexchange.com/questions/615801