Arch Linuxでopenssh7.5p1とgnupg 2.1.21を使用しています(これらはArchに付属するデフォルトのバージョンです)。gpg-agentsshエージェントとして使用したいと思います。私は次のものを私の中に入れました~/.gnupg/gpg-agent.conf:
pinentry-program /usr/bin/pinentry-qt
enable-ssh-support
Archはsystemdからgpg-agentを自動的に起動するので、設定します
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gnupg/S.gpg-agent.ssh"
を実行するとssh-add -l、IDは報告されず、期待どおりにプロセスがps報告さgpg-agent --supervisedれます。
残念なことに、を実行するssh-addと、キーの種類に関係なく、機能しません。ここに私がdsaを試した方法の例があります:
$ ssh-keygen -f testkey -t dsa -N ''
Generating public/private dsa key pair.
Your identification has been saved in testkey.
Your public key has been saved in testkey.pub.
$ ssh-add testkey
Could not add identity "testkey": agent refused operation
他のすべてのgpg関数は正常に動作します(暗号化/復号化/署名)。また、生成したキーは、sshで直接使用すると問題なく動作ssh-agentし、opensshに付属のキーを実行すると正しく動作します。
ドキュメントにはssh-addにキーを追加する必要があると書かれていますが~/.gnupg/sshcontrol、明らかに何も起きていません。
私の質問:opensshののにより生成されたキーをロードするための最も簡単な方法は何だssh-keygenにgpg-agentし、缶誰かしてくださいカットをし、どのようにこの作品を示す端末セッションを貼り付けるには?