SSH、tmux、GnuPGエージェントのベストプラクティス
暗号化ソフトウェアをGnuPGに統合しようとしていますが、紛らわしい問題に直面しています。 私の主要なユニットはヘッドレスサーバーで、tmuxでのみ仕事をしています。Xセッションはありません。したがって、pinentry-cursesを使用するようにgpg-agentを構成しました。このスクリプトを使用して、ログイン時にssh-agentエミュレーションで呼び出されるようにgpg-agentを構成しました。 if pgrep -u "${USER}" gpg-agent >/dev/null 2>&1; then eval `cat $gnupginf` eval `cut -d= -f1 $gnupginf | xargs echo export` else eval `gpg-agent -s --enable-ssh-support --daemon` fi すでにsshキーをgpg-agentに追加しましたが、別のsshセッションを試行するとコマンドがハングします。 gpg-agentを終了して新しいログインシェルを作成すると、エージェントが正常に動作することを発見しました(pinentry-cursesを呼び出してからssh-agentのように動作します)。 ただし、別のログインシェルを作成して(たとえば、別のtmuxペインを開いて)sshを試みると、コマンドがハングし、最初にエージェントを起動したログインシェルのコンテンツ上にpinentry-cursesウィンドウが印刷されます。 さらに、最初にエージェントを起動したシェルを閉じた場合、pinentry-cursesが呼び出され、CPUをクリンプする無限ループが発生します。(既知のバグ、http://bugs.debian.org/cgi-bin/bugreport.cgi? bug = 559936を参照してください。) 本質的に、GnuPGエージェントがssh-agentと同じようにシームレスに動作するように、セットアップの変更点を知りたいと思います。助けてくれてありがとう!