gpg 相当于 ssh-add 吗?

hsi*_*nen 5 server gnupg

我尝试在 Obnam 中使用受密码保护的 GPG 密钥,它gpg以批处理模式调用(Ubuntu Server 14.04 上的 1.4.x)。gpg无法在批处理模式下询问密码。我发现的所有gpg-agent内容似乎都涉及 GUI 对话框,但我通过 ssh 使用 Ubuntu Server,并且该服务器没有安装 x.org。

ssh-addGPG 的非 GUI 等价物是什么?也就是说,它想要调用在终端中工作的东西来缓存 RAM 中的密码或解锁密钥,然后调用obnam,后者又以gpg批处理模式调用,并完成这项工作。

hsi*_*nen 0

先安装pinentry-curses再安装gnupg-agentgpg-agent.conf在目录中创建一个名为的文件GNUPG_HOME(通常是~/.gnupg)并放置类似的内容

pinentry-program /usr/bin/pinentry-curses
default-cache-ttl 31536000
default-cache-ttl-ssh 31536000
max-cache-ttl 31536000
max-cache-ttl-ssh 31536000
Run Code Online (Sandbox Code Playgroud)

在文件中。(这些数字是以秒为单位的缓存有效期。)

然后,要缓存解锁的密钥,请运行

GPG_TTY=$(tty)
eval "$(gpg-agent --daemon)"
Run Code Online (Sandbox Code Playgroud)

接下来是一些gpg需要钥匙解锁的操作。