gpg-агент відмовляється від SSH-ключів із повідомленням ssh-add "агент відмовився від роботи"


12

Я використовую 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-keygenINTO gpg-agent, а може хто - то будь ласка , вирізати і вставити термінальну сесію , показуючи , як це працює?


Прийнята відповідь допомогла мені, дякую за те, що я поставив це питання. Це час від часу трапляється зі мною, чи є постійне рішення?
gf_

Відповіді:


27

Відповідь, очевидно, була запущена:

echo UPDATESTARTUPTTY | gpg-connect-agent

Я поняття не маю, чому програма пілотування працювала чудово для інших застосувань, таких як розшифрування файлів, але не працювала ssh-add.

Хоча це зараз працює, він також створює копію приватного ключа ssh, який не відображається під gpg -Kv, і, крім того, не дозволяє вам змінювати парольну фразу вашого приватного ключа (оскільки ви не можете редагувати її --edit-key) . В основному я дуже незадоволений тим, як gpg-agentзабезпечує низьку видимість того, куди копіюються ваші секрети. Якщо ви потрапили на це питання, тому що ви сподівалися, що це gpg-agentможе бути кращою альтернативою ssh-agent, я б радив вам дотримуватися ssh-agentзамість того, щоб випробовувати мою відповідь. Основна причина віддати перевагу gpg-agent- це якщо вам потрібно використовувати смарт-карти.


Де ти знайшов цю відповідь? Це чудово працює!
CMCDragonkai

Дякую за це, працювали на мене. Ви регулярно це запускаєте? При кожному завантаженні / вході? Будь-яка ідея щодо "належного" виправлення?
gf_


2

У моєму випадку проблема полягала у застосованій програмі. Я використовував pinentry-emacs. Здається, він не обробляє підказку вікна подвійного введення текстового поля, яке ssh-addзапускається при використанні з gpg-агентом.

Видалення pinentry-emacs та встановлення GTK pinentry вирішили тут проблему.


Це нарешті вирішило мою проблему, знайшовши купу джерел, які сказали мені оновити запуск tty.
Вільям
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.