我正在尝试对Obnam使用受密码保护的GPG密钥,该密钥以gpg
批处理模式调用(在Ubuntu Server 14.04上为1.4.x)。gpg
不能在批处理模式下要求输入密码。gpg-agent
我发现的所有内容似乎都包含一个GUI对话框,但是我在ssh上使用Ubuntu Server,并且该服务器未安装x.org。
ssh-add
GPG的非GUI等效项是什么?也就是说,它想调用某些在终端中起作用的东西来将密码短语或未锁定的密钥缓存在RAM中,然后调用obnam
,而后者又以gpg
批处理模式进行调用,并完成这项工作。
首先安装pinentry-curses
,然后再安装gnupg-agent
。gpg-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
在文件中。(数字是高速缓存有效期,以秒为单位。)
然后,要缓存解锁密钥,请运行
GPG_TTY=$(tty)
eval "$(gpg-agent --daemon)"
然后进行一些gpg
需要将钥匙解锁的操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句