gpg(gnupg)工具使用非常广泛,在前面一篇文章中就详细介绍:http://blog.csdn.net/dongtingzhizi/article/details/26362205,有一个问题值得关注,那就是使用GPG私钥时需要输入密码,如果只使用一次倒好说,只需要输入一次密码就好,但是如果需要批量使用,那就麻烦了!例如,最近的工作中,创建debian软件仓库需要使用gpg对deb包进行签名,加入上千个包需要输入上千次密码,显然没法做到,此时就要用到gpg-agent了!
网上关于gpg-agent的配置非常少,这里有一篇介绍比较靠谱的可以参考:
https://wiki.archlinux.org/index.php/GnuPG#gpg-agent
主要配置:
1. 启动脚本(.profile或者~/.bash_profile)中配置:
eval $(gpg-agent --daemon) &2. ~/.gnupg/gpg-agent.conf中配置:
default-cache-ttl 3600 # 密码有效时间 pinentry-program /usr/bin/pinentry-gtk-2 # 密码输入窗口程序
另外,需要注意,ubuntu中默认会有gnome-keyring-common接管密码输入(默认包括ssh, gpg等,可以查看/etc/xdg/autostart目录中的相关文件),如果gpg密码使用gpg-agent接管的话,需要把gnome-keyring-common中接管的gpg屏蔽掉,这篇文章中就详细的介绍:
https://wiki.archlinux.org/index.php/GnuPG#gpg-agent
其实很简单,只需要将/etc/xdg/autostart/gnome-keyring-gpg.desktop文件转移或者链接到/dev/null即可。