web-dev-qa-db-ja.com

GnuPGのS.gpg-agentソケットの場所を設定する方法は?

GnuPGは、デフォルトでそのソケットS.gpg-agent~/.gnupg/S.gpg-agentに配置します。このソケットの場所を設定する方法が見つからず、gpg.confのマンページがあるようにも見えません。

背景:ソケットをサポートしないOpenAFSマウントに~/.gnupgをシンボリックリンクしたい(そして、~/.gnupgだけでなく、~/.gnupg(回避策)内のすべてのファイルにシンボリックリンクを作成しないでください)、つまり、最もエレガントなソリューションimoを見つけます。

2
Karl Richter

GnuPGバージョン2.1.1以降、解決策があります。次の内容のシンプルなテキストファイルS.gpg-agentをgpg-homedirに配置します。

%Assuan%
socket=/path/to/where/ever/you/want/S.gpg-agent

${HOME}${HOSTNAME}などの一部のevnvarを置き換えます

/tmpのサブディレクトリを使用する場合は注意してください。gpg-agentは必要なディレクトリを作成しないためです。

さらに読む: https://dev.gnupg.org/T1752

3
ruhri

ユーザーruhriのソリューションは、Debianストレッチシステムでは機能しませんでした。少なくとも、ソケットの「リダイレクト」を追加する必要がありました。ここに私たちのために働いたものがあります。

  1. Ruhriの説明に従って.gnupg/S.gpg-agentファイルを作成します。

    %Assuan%
    socket=/srv/scratch/joeuser/S.gpg-agent
    
  2. これらの2行を.gnupg/gpg-agent.confの最後に追加します(ファイルが存在しない場合は作成します)。

    extra-socket /srv/scratch/joeuser/S.gpg-agent.extra
    browser-socket /srv/scratch/joeuser/S.gpg-agent.browser
    
  3. ファイル.gnupg/S.gpg-agent.sshに似たファイル.gnupg/S.gpg-agentを作成します。

    %Assuan%
    socket=/srv/scratch/joeuser/S.gpg-agent.ssh
    

(この解決策は https://michaelheap.com/gpg-cant-connect-to-the-agent-ipc-connect-call-failed/ の投稿へのコメントから得られます)

0
rlandster