我正在尝试设置svn以将我的svn密码存储在gpg-agent中。
由于盒子上没有X,我的pinentry程序可以是pinentry-tty
或pinentry-curses
。
不幸的是。似乎有一个问题:
% svn up
Updating '.':
现在一切都挂了。我查看了strace
,发送给gpg-agent
的最后一封邮件是GET_PASSPHRASE
。我在进程列表中看到,pinentry
进程已启动。
我还尝试在运行svn之前运行gpg-connect-agent updatestartuptty /bye
,但这并没有改变任何内容。
所有人都有这样的设置吗?或者一些想法如何修复/调试这个?
答案 0 :(得分:1)
这两个都需要一个交互式会话,svn
调用时可能不会给出(尽管我对此并不确定)。
更好的解决方案可能是通过运行gpg-preset-passphrase
(通常在/usr/lib/gnupg2/gpg-preset-passphrase
或/usr/lib/gnupg/gpg-preset-passphrase
)来预设密码短语,在~/.gnupg/gpg-agent.conf
之前也必须允许通过添加读行allow-preset-passphrase
。
将密码短语添加到缓存后,您将能够使用GnuPG执行操作一段可配置的时间(可以是任意长的)。