gpg: не удается подключиться к агенту: сбой вызова IPC

У меня возникла проблема при попытке расшифровать некоторые ключи с помощью GPG. Следующий вывод дается мне:

gpg: can't connect to the agent: IPC connect call failed

Я уже отредактировал некоторые файлы, указанные в этом руководстве: https://michaelheap.com/gpg-cant-connect-to-the-agent-ipc-connect-call-failed/ но безуспешно.

Возможные причины для этого?

заранее спасибо

15 ответов

Даже у меня была указанная выше проблема в Ubuntu 20 WSL, я попробовал все нижеприведенное | выше предложения, но ни один из них не работал у меня.

root@7400-9888K13:/mnt/c/Users/PKammari# wget -q -O - https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | sudo apt-key add -
gpg: can't connect to the agent: IPC connect call failed

Что я сделал для решения проблемы?

  • удалить gpg
  • установить другую версию gpg.

Как мне это сделать?
apt remove gpg (Следуй инструкциям)
apt install gnupg1 (Следуй инструкциям)

Вариант 2.

sudo apt remove gpg
sudo apt-get update -y
sudo apt-get install -y gnupg1 

Доказательство. (см. скриншот):

В моем случае агент даже не запускался. Вот что я сделал, чтобы решить:

C:\Program Files (x86)\gnupg\bin>gpg-connect-agent -v
gpg-connect-agent: no running gpg-agent - starting 'C:\Program Files (x86)\gnupg\bin\gpg-agent.exe'
gpg-connect-agent: waiting for the agent to come up ... (5s)
gpg-connect-agent: connection to agent established
> ^Z

После этого начали работать команды агенту.

Возможно, в системе уже работает gpg-agent, к которому ваша команда gpg не может подключиться.

Если вы выполните pkill -9 gpg-agent и затем source <(gpg-agent --daemon) для перезапуска агента, вы сможете подключиться к pinentry-curses для ввода вашего пароля.

Надеюсь, добавить к превосходному ответу preetam выше для новичков.

Чтобы установить gnupg1 - если вы получите сообщение об ошибке "Пакет gnupg1 недоступен, но есть ссылка....."

sudo apt remove gpg
sudo apt-get update -y
sudo apt-get install -y gnupg1 

У меня машина с Windows, и когда я выполняю git commit, я получаю следующее сообщение. Я уже настроил ключи gpg на своей машине .

      gpg: can't connect to the gpg-agent: IPC connect call failed
gpg: keydb_search failed: No agent running
gpg: skipped "BBB42EB62E25E8EB33AE2E65F40A504840B1C66B": No agent running
gpg: signing failed: No agent running
error: gpg failed to sign the data
fatal: failed to write commit object

Ответ Уилла Баффингтона сработал для меня.

пришлось применить команду

      gpg-connect-agent -v

несколько раз, как показано ниже. И с третьей попытки получилось.

После того, как я получил сообщение об установлении соединения с агентом , я снова запустил команду фиксации. Теперь он успешен. Обратите внимание на флаг -S для подписи моих коммитов .

Обновлять

Сегодня утром не завелась даже после 3-х попыток. Мне пришлось дважды щелкнуть исполняемый файл из его установленного места.

apt-get install -y gnupg gnupg1
cp -a /usr/bin/gpg /usr/bin/gpg2
ln -sf /usr/bin/gpg1 /usr/bin/gpg

apt-key работал у меня после выполнения этих команд.

Я WSL 2.0 с Ubuntu 20.04 (Windows 10 Build 2004).

Причина:

при удалении gnupg (2.x) также удаляется gpg-agent, который требуется.

при установке gnupg1 (1.x) будет установлен только двоичный файл gpg, а не gpg-agent.

Оба необходимы для работы, но мы хотим, чтобы gnupg1 (1.x) был командой по умолчанию "gpg" (несмотря на работу с инструментами поддержки 2.x).

Для меня предыдущие ответы сработали, но частично то, что сделало волшебство в моем случае, было комбинацией всего, см. Команды ниже.

Если вы получите ошибку add-apt-repository: command not found, затем установите общие свойства программного обеспечения пакета.

sudo apt remove gpg
sudo apt-get update -y
sudo apt-get install -y gnupg1

# In case of Error when adding "ppa" with message: add-apt-repository: command not found
sudo apt-get install software-properties-common

# Now, the hack
sudo add-apt-repository ppa:rafaeldtinoco/lp1871129
sudo apt update
wget https://launchpad.net/~rafaeldtinoco/+archive/ubuntu/lp1871129/+files/libc6_2.31-0ubuntu8+lp1871129~1_amd64.deb
sudo dpkg --install libc6_2.31-0ubuntu8+lp1871129~1_amd64.deb
sudo apt-mark hold libc6 #to avoid further update

# Edit: /var/lib/dpkg/info/libc6:amd64.postinst and remove the sleep 1 that is in nearly the last line.

Основываясь на другом поведении в моей системе Windows 10 и в результате экспериментов, я считаю, что иногда Защитник Windows блокирует запуск из-за ошибки Защитника Windows, которая замедляет работу системы, пытающейся получить доступ к низкоуровневым счетчикам ЦП.

Читать Защитник Windows может значительно повлиять на производительность процессора Intel, у нас есть исправление . Чтобы обойти эту проблему, загрузите Counter Control с сайта TECHPOWERUP и нажмите «Сбросить счетчики», когда возникнет эта проблема. (См. ниже.)

В моем случае я часто получал следующую ошибку при попытке подписать файлы JAR для развертывания в Maven Central.

      gpg: can't connect to the gpg-agent: IPC connect call failed
gpg: keydb_search failed: No agent running
gpg: skipped "…": No agent running
gpg: signing failed: No agent running

Иногда, если я пытался снова, и снова, и снова, в конце концов это удавалось.

Основываясь на других ответах, когда это произошло, я попытался вручную подключиться к , но даже это истекло:

      > gpg-connect-agent --verbose
gpg-connect-agent: no running gpg-agent - starting 'C:\\Program Files (x86)\\GnuPG\\bin\\gpg-agent.exe'
gpg-connect-agent: waiting for the agent to come up ... (5s)
gpg-connect-agent: waiting for the agent to come up ... (4s)
gpg-connect-agent: waiting for the agent to come up ... (3s)
gpg-connect-agent: waiting for the agent to come up ... (2s)
gpg-connect-agent: waiting for the agent to come up ... (1s)
gpg-connect-agent: can't connect to the gpg-agent: IPC connect call failed
gpg-connect-agent: error sending standard options: No agent running

Поскольку я сталкивался с подобными проблемами замедления на моем компьютере, которые, по-видимому, были связаны с Защитником Windows, я запустил «Контроль счетчика» и, конечно же, он показал, что Защитник Windows максимально использует доступ к счетчику, как описано в статье выше. (Изображение из статьи.)

Я попытался снова подключиться вручную, но на этот раз я нажал «Сбросить счетчики» в утилите, как только пытался. Когда я это сделал, он сразу подключился!

      > gpg-connect-agent --verbose
gpg-connect-agent: no running gpg-agent - starting 'C:\\Program Files (x86)\\GnuPG\\bin\\gpg-agent.exe'
gpg-connect-agent: waiting for the agent to come up ... (5s)
gpg-connect-agent: connection to the agent established

Кажется маловероятным совпадение, что он подключится как раз в тот момент, когда я сбросил счетчики. Кроме того, Защитник Windows вызывает другие проблемы с замедлением работы моей машины.

Я полагаю, что ошибочное поведение Защитника Windows вызывает эту проблему на моем компьютере. Пожалуйста, изучите и сообщите, если вы можете воспроизвести этот обходной путь. (Обратите внимание, что, согласно статье, эта проблема затрагивает только определенные поколения процессоров Intel.)

Обновление: после дальнейшего тестирования я все еще получаюcan't connect to the gpg-agentдаже если я уже сбросил счетчики, чтобы Защитник Windows не загружал ЦП, как описано выше. По какой-то причине мне обычно все еще приходится запускать файлы . Теперь может случиться так, что сброс счетчиков при попытке подключения позволил ему подключиться. И все еще может быть так, что Защитник Windows перестает подключаться при запуске моей системы. Но на данный момент все, что я знаю, это то, что 1)gpg-agentне запускается автоматически, 2) мне приходится запускать вручную и 3) даже работаетgpg-connect-agentистечет время ожидания, если я не сброслю счетчики ЦП, чтобы Защитник Windows не перегружал ЦП.

У меня такая же проблема. В моем случае файлы конфигурации gpg были как-то повреждены. Чтобы решить эту проблему, я удалил все конфигурации внутри ~/.gnupg (обязательно сделайте резервную копию любых ключей, которые вам все еще нужны). Затем я переустанавливал gpg и все работало хорошо.

Только:

sudo apt install software-properties-common

В WSL1 Ubuntu 20.04 доступен следующий обходной путь: https://github.com/microsoft/WSL/issues/5125

sudo add-apt-repository ppa:rafaeldtinoco/lp1871129
sudo apt update
sudo apt install libc6=2.31-0ubuntu8+lp1871129~1 -y
sudo apt-mark hold libc6

Пришлось использовать:

sudo apt remove gpg
sudo apt remove gnupg1
sudo apt remove gnupg2
sudo apt autoremove

У меня была такая же проблема, когда я убил агента. Не удалось снова подключиться к агенту. Поэтому мне пришлось удалить все пакеты, связанные с gpg, и переустановить. Мне также пришлось удалить gpg-agent. так что я сделал

      sudo apt remove gpg gpg-agent
sudo apt-get install -y gpg 

В подсистеме Windows Ubuntu 20 выполняет следующие действия:

  1. sudo apt удалить gpg
  2. sudo apt-get update -y
  3. sudo apt-get install -y gnupg1

После этого появляется "ОК".

Я смог подключиться без установки нового программного обеспечения. В моем случае проблема заключалась в том, что файл IPC не находился в ожидаемой позиции.

Проверьте, если с ps -eaf | grep gpgработает и убить его, если он работает с killall gpg-agent

Начинать gpg-agentс подробным

      $ gpg-agent --daemon -v
...
GPG_AGENT_INFO=/tmp/.../S.gpg-agent; export GPG_AGENT_INFO

скопируйте-вставьте GPG_AGENT_INFOлинии, в том числе export, в оболочке, где вам нужен агент.

Другие вопросы по тегам