Как исправить ошибку GPG «NO_PUBKEY»?

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

  

W: ошибка GPG: http://ppa.launchpad.net trusty InRelease: следующие подписи не могут " t проверить, потому что открытый ключ недоступен: NO_PUBKEY 8BAF9A6F

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

292 голоса | спросил Agmenor 13 62010vEurope/Moscow11bEurope/MoscowSat, 13 Nov 2010 23:27:50 +0300 2010, 23:27:50

11 ответов


187

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

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

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

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

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

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

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

ответил monotasker 4 WedEurope/Moscow2013-12-04T19:52:44+04:00Europe/Moscow12bEurope/MoscowWed, 04 Dec 2013 19:52:44 +0400 2013, 19:52:44
425

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

  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
 

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

ответил karthick87 28 72010vEurope/Moscow11bEurope/MoscowSun, 28 Nov 2010 21:49:43 +0300 2010, 21:49:43
37

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

Для решения этой проблемы используйте следующую команду:

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

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

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

, который добавляет ключ к доверенным ключам apt.

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

ответил Pedram 28 MaramMon, 28 Mar 2011 02:31:37 +04002011-03-28T02:31:37+04:0002 2011, 02:31:37
32

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

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

Следуйте за ним и нажмите на ссылку ID ключа (3):

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


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

  • Приложения> Центр программного обеспечения ,
  • Изменить> Источники программного обеспечения ... ,
  • Введите свой пароль,
  • Перейдите на вкладку Authentication и нажмите Файл ключа импорта ... , наконец
  • Выберите сохраненный ключевой файл и нажмите OK .

Вот и все.

ответил htorque 14 72010vEurope/Moscow11bEurope/MoscowSun, 14 Nov 2010 00:04:45 +0300 2010, 00:04:45
11

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

Проверьте, нет ли в этом файле неиспользуемых ключей от ppa (s), которые вы больше не используете. Если все они используются, рассмотрите возможность удаления некоторых ppa (s) вместе с соответствующими ключевыми файлами в файле /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 1ABC2D34EF56GH78
gpg --export --armor 1ABC2D34EF56GH78 | sudo apt-key add -
 
ответил mchid 8 AM00000020000002531 2014, 02:33:25
8

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

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

  sudo launchpad-getkeys
 

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

ответил Alin Andrei 6 J0000006Europe/Moscow 2011, 00:15:27
4

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

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

После исправления проблемы NO_PUBKEY проблема ниже осталась

  W: ошибка GPG: xhttp: //toolbelt.heroku.com ./Release: Следующие недопустимые сигнатуры: BADSIG C927EBE00F1B0520 Heroku Release Engineering <[email protected]>
 

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

  sudo -i
apt-get clean
cd /var /lib /apt
mv list lists.old
mkdir -p списки /частичные
apt-get clean
Обновление apt-get
 

Источник - Ссылка для его решения

ответил dennyac 30 Jpm1000000pmWed, 30 Jan 2013 21:12:59 +040013 2013, 21:12:59
4

Убедитесь, что установлен 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

ответил Eduardo Cuomo 27 Maypm17 2017, 23:00:58
3

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

  ----- BEGIN PGP PUBLIC KEY BLOCK -----
Версия: GnuPG v1.4.1 (GNU /Linux)
[...]
----- END PGP PUBLIC KEY BLOCK -----
 

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

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

  • Приложения> Sofware Center
  • Изменить> Софтверные источники ..., введите пароль
  • Вкладка «Проверка подлинности», нажмите «Импортировать файл ключа ...»
  • Выберите сохраненный ключевой файл и нажмите «ОК».

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

ответил Agmenor 14 72010vEurope/Moscow11bEurope/MoscowSun, 14 Nov 2010 00:43:54 +0300 2010, 00:43:54
2

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

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

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

  cd /etc/apt/trusted.gpg.d
sudo rm -R *
Обновление sudo apt-get
 

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

Запустите sudo apt-get update снова и окончательно все отлично работает сейчас! Танки!

Исходный код: сообщение # 17 на https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1263540

ответил NeurOSick 8 PMpWed, 08 Apr 2015 16:36:57 +030036Wednesday 2015, 16:36:57
1

У меня была такая же проблема с клиентом Updater DynDNS.

Оказывается, это были только истекшие ключи.

Переустановка программного обеспечения (загрузка нового .deb с веб-сайта, а затем с помощью Software Center для переустановки) устранена проблема.

Сообщение об ошибке для справки:

  W: ошибка GPG: http://cdn.dyn.com stable /Release: следующие подписи были недопустимыми: KEYEXPIRED 141943 .......
 
ответил Cranky 8 Jpm1000000pmThu, 08 Jan 2015 19:53:35 +030015 2015, 19:53:35

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132