Как мне исправить ошибку GPG "NO_PUBKEY"?

Я добавил несколько дополнительных репозиториев с помощью программы Software Sources. Но когда я перезагружаю базу данных пакетов, я получаю сообщение об ошибке, подобное следующему:

W: Ошибка GPG: http://ppa.launchpad.net надежный выпуск: Не удалось проверить следующие подписи, поскольку открытый ключ недоступен: NO_PUBKEY 8BAF9A6F

Я знаю, что могу исправить это с помощью apt-key в терминале, согласно официальной документации Ubuntu. Но мне бы хотелось сделать это графически. Есть ли способ сделать это без использования терминала?

Выполните следующие команды в терминале

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <PUBKEY>

где <PUBKEY> является ли ваш отсутствующий открытый ключ для репозитория, например 8BAF9A6F.

Затем обновите

sudo apt-get update

АЛЬТЕРНАТИВНЫЙ МЕТОД:

sudo gpg --keyserver pgpkeys.mit.edu --recv-key  <PUBKEY>sudo gpg -a --export <PUBKEY> | sudo apt-key add -sudo apt-get update

Обратите внимание, что при импорте такого ключа с помощью apt-key вы сообщаете системе, что доверяете импортируемому ключу для подписи программного обеспечения, которое будет использоваться вашей системой. Не делайте этого, если вы не уверены, что ключ действительно является ключом распространителя пакетов.

Безусловно, самый простой способ справиться с этим сейчас - с помощью Y-PPA-Manager (который теперь интегрирует launchpad-getkeys скрипт с графическим интерфейсом).

  1. Чтобы установить его, сначала добавьте репозиторий webupd8 для этой программы:

    sudo add-apt-repository ppa:webupd8team/y-ppa-manager
  2. Обновите свой список программного обеспечения и установите Y-PPA-Manager:

    sudo apt-get updatesudo apt-get install y-ppa-manager
  3. Запустите y-ppa-manager (т.е. введите y-ppa-manager затем нажмите клавишу enter).

  4. Когда появится главное окно y-ppa-manager, нажмите "Дополнительно".;

  5. В списке дополнительных задач выберите "Попытаться импортировать все отсутствующие ключи GPG" и нажмите "ОК".

    С тобой покончено! Как говорится в диалоговом окне предупреждения, когда вы начинаете операцию, это может занять довольно много времени (для меня около 2 минут) в зависимости от того, сколько у вас PPA и скорости вашего соединения.

Это происходит, когда у вас нет подходящего открытого ключа для репозитория.

Чтобы решить эту проблему, используйте эту команду:

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 9BDB3D89CE49EC21

который извлекает ключ с сервера ключей ubuntu. А потом это:

gpg --export --armor 9BDB3D89CE49EC21 | sudo apt-key add -

который добавляет ключ к apt trusted keys.

Решение может быть найдено здесь &amp; здесь &amp; здесь.

Вам нужно получить и импортировать ключ.

Чтобы получить ключ от PPA, посетите страницу панели запуска PPA. На каждой странице PPA в Launchpad вы найдете эту ссылку (2), после нажатия на "Технические подробности об этом PPA" (1):

image 1

Перейдите по ней и нажмите на ссылку с идентификатором ключа (3):

image 2

Сохраните страницу, это ваш ключевой файл.


Теперь пришло время импортировать его:

  • Applications > Software Center,
  • Edit > Software sources...,
  • Введите свой пароль,
  • Пойти на Authentication вкладку и нажмите на Import Key File..., наконец - то
  • Выберите сохраненный ключевой файл и нажмите на OK.

apt может обрабатывать только 40 ключей в /etc /apt /trusted.gpg.d . 41 ключей, и вы получите сообщение об ошибке GPG "открытый ключ не найден", даже если вы выполните все шаги по добавлению отсутствующего ключа (ов).

Проверьте, нет ли в этом файле неиспользуемых ключей от ppa(ов), которые вы больше не используете. Если все они используются, рассмотрите возможность удаления некоторых ppa(ов) вместе с соответствующими ключевыми файлами в /etc/apt/trusted.gpg.d

Кроме того, используя

sudo apt-key adv

Считается угрозой безопасности и не рекомендуется таким, какой ты есть "подрывает всю концепцию безопасности, поскольку это небезопасный способ получения ключей по разным причинам (например: hkp - это протокол открытого текста, короткие и даже длинные идентификаторы ключей могут быть подделаны, ...)". http://ubuntuforums.org/showthread.php?t=2195579

Я считаю, что правильный способ добавить недостающие ключи (например, 1ABC2D34EF56GH78) - это

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 1ABC2D34EF56GH78gpg --export --armor 1ABC2D34EF56GH78 | sudo apt-key add -

В WebUpd8 PPA есть крошечный скрипт, который я свяжу как единый.загрузка deb, поэтому вам не нужно добавлять весь PPA, который автоматически импортирует все отсутствующие ключи GPG.

Скачайте и установите Панель запуска-getkeys (игнорируйте ~ natty в его версии, он работает со всеми версиями Ubuntu, начиная с Karmic и заканчивая Oneiric). После установки откройте терминал и введите:

sudo launchpad-getkeys

Если вы используете прокси-сервер, все немного сложнее, так что смотрите этот для получения дополнительной информации

Я столкнулся с такой же проблемой при установке Heroku. Ссылка ниже решила мою проблему -

http://naveenubuntu.blogspot.in/2011/08/fixing-gpg-keys-in-ubuntu.html

После фиксации NO_PUBKEY проблема, приведенная ниже проблема осталась

W: GPG error: xhttp://toolbelt.heroku.com ./ Release: The following signatures were invalid: BADSIG C927EBE00F1B0520 Heroku Release Engineering <release@heroku.com>

Чтобы исправить это, я выполнил следующие команды в терминале:

sudo -i  apt-get clean  cd /var/lib/apt  mv lists lists.old  mkdir -p lists/partial  apt-get clean  apt-get update  

Источник - Ссылка для решения этой проблемы

В более общем плане следующий метод должен работать для каждого репозитория. Прежде всего, найдите, с помощью поисковой системы, текст на веб-сайте поставщика программы, который выглядит следующим образом:

-----BEGIN PGP PUBLIC KEY BLOCK-----Version: GnuPG v1.4.1 (GNU/Linux)[...]-----END PGP PUBLIC KEY BLOCK-----

Такой текст, например, отображается на http://deb.opera.com. Скопируйте отрывок, вставьте его в пустой файл, который вы создаете на своем рабочем столе. В результате создается файл ключа.

Затем продолжите импорт ключа:

  • >Центр программного обеспечения приложений
  • >Редактировать исходные файлы программного обеспечения..., введите пароль
  • Вкладка Аутентификация, нажмите на "Импортировать файл ключа..."
  • Выберите сохраненный ключевой файл и нажмите "Ок".

Теперь вы можете удалить ранее созданный файл ключа.

Убедитесь, что у вас есть apt-transport-https установленный:

dpkg -s apt-transport-https > /dev/null || bash -c "sudo apt-get update; sudo apt-get install apt-transport-https -y" 

Добавить репозиторий:

curl https://repo.skype.com/data/SKYPE-GPG-KEY | sudo apt-key add - echo "deb [arch=amd64] https://repo.skype.com/deb stable main" | sudo tee /etc/apt/sources.list.d/skype-stable.list 

Установите Skype для Linux:

sudo apt-get update sudo apt-get install skypeforlinux -y

Источник: https://community.skype.com/t5/Linux/Skype-for-Linux-Beta-signatures-couldn-t-be-verified-because-the/td-p/4645756

Хорошо! Я наконец-то нашел путь!

Я протестировал все методы, чтобы исправить Ошибка GPG NO_PUBKEY и у меня ничего не работает.

Я удалил все содержимое папки /etc/apt/trusted.gpg.d

cd /etc/apt/trusted.gpg.dsudo rm -R *sudo apt-get update

И я использую Y-PPA-Менеджер метод, потому что я слишком ленив, чтобы создавать все pubkey вручную (слишком много): http://www.unixmen.com/fix-w-gpg-error-no_pubkey-ubuntu/

запустите sudo apt-get update еще раз, и, наконец, теперь все работает отлично! Танки!

Основанный Источник : сообщение № 17 на https://bugs .launchpad.net/ubuntu /+источник/apt/+ошибка/1263540

Вы можете проверить это ТАК thread для решения. Ссылка на [соответствующий сайт](http://opensourceforgeeks .blogspot.in/2013/04/w-gpg-error-httpppalaunchpadnet-precise.html )

@MichaelScheper ‘Есть ли средство [ы], чтобы не открывать терминал?’ =~ ‘Есть ли способ сделать это без терминала?’

Для пользователей, которые хотят удалить репозиторий, см. этот вопрос * (это должно сделать этот комментарий более актуальным, хотя я полагаю, что оценка грамматики здесь тоже уместна :slight_smile: ) * @MichaelScheper Это необычный способ сказать это, но я научился как часть Английский в Великобритании (это, вероятно, означает, что мой английский хуже, чем если бы меня учили правильно [с существительными и т.д.]! xD). Цитата средство для достижения цели приходит на ум, хотя проблема заключается в конечном бите, но именно там средства означают метод или способ.

@Уилф: О! Я не хочу придираться к грамматике, но это действительно сбило меня с толку. Судя по ссылке, которую я только что проверил, “означает” - это существительное единственного числа, и именно его вы имели в виду. MEANS | meaning in the Cambridge English Dictionary Но если вы и Agmentor используете какую-то разновидность английского языка, где грамматика в вопросе верна, я бы хотел увидеть ссылку на нее, просто потому, что меня интересуют подобные вещи. :relaxed:

Вот надежный ответ на этот вопрос: apt - How do I fix the GPG error "NO_PUBKEY"? - Ask Ubuntu

Связанные: http://askubuntu.com/q/127326/178596

@Wilf: Словарь, на который я ссылался, был словарем Великобритании, и “средство для достижения цели” полностью иллюстрирует мою точку зрения, которая заключается в том, что “средство” является единственным числом. Следовательно, “подлый” - неподходящее слово. Но вы правы в том, что говорите, что это отклонилось от темы, поэтому я воздержусь от дальнейшего обсуждения и предоставлю вам решать, редактировать ли вопрос. Ваше здоровье.

“Подлый”? Любопытно, что вы имели в виду под этим.