Я використовую openssh7.5p1 і gnupg 2.1.21 для arch linux (це версії за замовчуванням, які постачаються з arch). Мені хотілося б використовувати gpg-agent
як ssh-агент. Я помістив у своєму ~/.gnupg/gpg-agent.conf
:
pinentry-program /usr/bin/pinentry-qt
enable-ssh-support
Arch автоматично запускає gpg-агент із systemd, тому я встановив
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gnupg/S.gpg-agent.ssh"
Коли я запускаю ssh-add -l
, він повідомляє про особистість і не 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
INTO gpg-agent
, а може хто - то будь ласка , вирізати і вставити термінальну сесію , показуючи , як це працює?