Arch Linuxでopenssh7.5p1とgnupg 2.1.21を使用しています(これらはArchに付属するデフォルトのバージョンです)。gpg-agent
sshエージェントとして使用したいと思います。私は次のものを私の中に入れました~/.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
し、缶誰かしてくださいカットをし、どのようにこの作品を示す端末セッションを貼り付けるには?