gpg 相当于 ssh-add?

gpg 相当于 ssh-add?

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

GPG 的非 GUI 等效项是什么ssh-add?也就是说,它想调用终端中可以工作的某个程序,将密码或解锁的密钥缓存在 RAM 中,然后调用obnam,后者又以gpg批处理模式调用,并使其工作。

答案1

首先安装pinentry-curses,然后安装。在你的目录中gnupg-agent创建一个名为的文件(通常是),并输入类似gpg-agent.confGNUPG_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

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

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

GPG_TTY=$(tty)
eval "$(gpg-agent --daemon)"

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

相关内容