2014-09-13 49 views
2

(Kubuntu的,而是試圖保持平臺獨立於我的做法。)如何使用gpg,gpg-agent,特別是.authinfo.gpg?

概念說明或必要的步驟要麼是讚賞。

我正在閱讀文檔,並試圖讓gpg-agent工作一次,但我感到灰心,因爲每次嘗試都需要重新啓動,並且我並不真正瞭解它是如何工作的(首先是切割和粘貼代碼)。

我想用gpg-agent,這樣我可以嘗試GNUS沒有每次我打開GNUS時間.authinfo.gpg輸入密碼。


在我深入研究問題之前,我想了解更多關於該過程的內容。

  1. 是使用gpg-agent.authinfo.gpg之前需要一個gpg --gen-key
  2. 配置文件提到SSH是否需要使用gpg
  3. .authinfo.gpg在某些鑰匙串上的位置?那個鑰匙串本身是否需要一個萬能鑰匙?

請糾正我對過程的想象流動。 (缺少密鑰是否需要?)。我很遺憾,它很稀少。

  1. 啓動後,初始化打開gpg守護進程,並進行其他相關設置。
  2. GNUS訪問.authinfo.gpg,它緩存與gpg-agent東西。

這裏有一些更多的細節,我認爲。

以下變量設置

GPG_AGENT_INFO ${HOME}/.gpg-agent-info 
GPG_TTY   $(TTY) 

~/.gnupg/gpg.conf,我們需要看到use-agent。我留下虛假#default-key ********註釋掉,因爲我相信只有當您擁有多個密鑰時才需要。

~/.gnupg/gpg-agent.conf,我們需要看到

pinentry-program /usr/bin/pinentry-qt4 
no-grab 
default-cache-ttl 1800 

(雖然,pinentry-qt4可能與其他現有的版本取代,如pinentry-curses


可能有一些裁員,但我我也看到了線,我假設.bashrc,如eval $(gpg-agent --daemon),或

gpg-agent --daemon \ 
    --write-env-file "${HOME}/.gpg-agent-info" 

關於SSH,因爲我認爲我不需要這個,現在(我省略了線。)


我見過的故障排除命令

echo "test" | gpg -ase -r 0xMYKEYID | gpg 

但因爲我不知道,如果我需要擺在首位的關鍵,我沒再與該走了。

+1

您正在使用基於debian的系統。 'gpg'是GnuPG版本1,不支持使用'gpg-agent'。改爲使用'gpg2'。 – 2014-09-13 21:05:42

+0

@JensErat,謝謝你將從[GnuPG和EasyPG助理配置 - Emacs驗證源庫](http://www.gnu.org/software/emacs/manual/html_node/auth/GnuPG-和-EasyPG-Assistant-Configuration.html),記住這一點。 – 2014-09-13 23:13:14

+0

@JensErat,輝煌!我多玩了一下,最終使用了「emacs gpg2」,並嘗試了'(setq epg-gpg-program「/ usr/bin/gpg2」)''。它似乎工作,謝謝! – 2014-09-14 00:12:15

回答

1

這是我非常業餘的教程回覆我自己的問題。

要檢查是否已經啓用了gpg-agent,嘗試

ps aux | grep gpg 

我發現

[email protected]:/e$ ps aux | grep gpg 
iam  1490 0.0 0.0 16728 900 ?  Ss 17:25 0:00 gpg-agent --daemon --sh 
iam  2611 0.0 0.0 11748 912 pts/0 S+ 17:33 0:00 grep --color=auto gpg 

這與

​​

似乎解決我的問題在一起。正如Jens Erat指出的,gpg-agentgpg2相關,而不是gpg

其實,我刪除了所有我做出了修改,從

GnuPG and EasyPG Assistant Configuration - Emacs auth-source Library

,它仍然完美。也就是說,沒有eval $(gpg-agent --daemon),沒有gpg-agent.conf需要。雖然,我可以加一些回來,例如default-cache-ttl。雖然pinentry-curses看起來很有吸引力,但我認爲比我更強大的思維會阻止使用Emacs彈出的gpg-agent,所以我會一個人留下。

相關問題