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 и все работало хорошо.
В 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 выполняет следующие действия:
- sudo apt удалить gpg
- sudo apt-get update -y
- 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
, в оболочке, где вам нужен агент.