Как исправить ошибку GPG & no; NO_PUBKEY & rdquo ;?

Сырой ответ, пока вы не добьетесь лучшего:

my_pid=$(ps -e | grep firefox | head -c 5 | tail -c 4)

дает PID процесса

renice -1 $my_pid

, увеличит renice

, вы можете поместите это в бесконечный цикл, используя

sleep 60s

1
задан 28 July 2017 в 23:40

10 ответов

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

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

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

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

sudo apt-get update

МЕНЮ ALTERNATE:

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

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

411
ответ дан 26 May 2018 в 00:26
  • 1
    @Naruto Это нормально. Это означает , что список не изменился на сервере. – hexafraction 10 August 2012 в 20:50
  • 2
    Вы можете просто передать значение NO_PUBKEY в качестве параметра. например ошибка GPG [...] NO_PUBKEY 3766223989993A70 = & gt; sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3766223989993A70 – S.M.Mousavi 20 February 2014 в 01:40
  • 3
    8BAF9A6F - где вы получили этот номер? – Olivier Lalonde 9 March 2014 в 18:49
  • 4
    Число 8BAF9 ... это то, что вы видите в исходной ошибке. Это будет что-то вроде NO_PUBKEY 8BAF ... – Alex 11 October 2014 в 00:56
  • 5
    Если кто-то изменил данные между мной и репозиторием, и заменил их, которые они подписали, это приведет к тому, что я просто добавлю ключ, который они использовали, более или менее слепо. Итак, каков процесс проверки правильности ключа? – mc0e 20 May 2015 в 18:37

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

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

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

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

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

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

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

37
ответ дан 26 May 2018 в 00:26
  • 1
    Если hkp: //keyserver.ubuntu.com не работает, используйте этот pgpkeys.mit.edu сервер. – RajaRaviVarma 30 October 2013 в 16:06
  • 2
    Этот ответ решил мою проблему с репозиторием Kylin. Метод ввода sogou pinyin добавил источник в мою папку /etc/apt/sources.list.d/, но, по-видимому, не импортировал ключ gpg. Хороший ответ, простой и понятный, +1! – Sergiy Kolodyazhnyy 8 August 2016 в 20:09
  • 3
    Благодаря! Работала для меня, чтобы решить проблему репозитория php. – Akash Agarwal 17 December 2017 в 21:31
  • 4
    Этот ответ решил мое обновление для http://ppa.launchpad.net/webupd8team/java/ubuntu xenial InRelease – mvw 21 February 2018 в 13:21
  • 5
    и вполне возможно, что вы еще не создали ключ для своей системы. поэтому перед выполнением вышеуказанных шагов используйте - gpg --gen-key (ссылки - packaging.ubuntu.com/html/getting-set-up.html ) – parasrish 9 May 2018 в 08:05

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

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

Следуйте за ним и нажмите на клавишу ID link (3):

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

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

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

Вот и все.

32
ответ дан 26 May 2018 в 00:26
  • 1
    Не теряйте время, см. Ответ ниже. – Felipe 17 October 2011 в 14:06
  • 2
    @FelipeMicaroniLalli, вопрос состоял в том, как добавить паблик с помощью GUI, not терминала, так что этот ответ был идеальным. – Christopher Woods 30 July 2013 в 19:24
  • 3
    Это много проще и быстрее теперь сделать это с помощью y-ppa-manager (также приложение gui). См. Мой ответ ниже. – monotasker 4 December 2013 в 21:53
  • 4
    Хорошо, но что, если репозиторий не является ubuntu ppa. Например. Intel запускает собственный репозиторий для драйверов видеоустройств на download.01.org – mc0e 20 May 2015 в 18:39
  • 5
    Большое пошаговое руководство, спасибо большое! действительно полезно для тех, кто не смог добавить ключ через apt-key. – Roy Ling 10 November 2015 в 05:35

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

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

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

sudo apt-key adv

Is считается угрозой безопасности и не рекомендуется, поскольку вы «подрываете всю концепцию безопасности, поскольку это не безопасный способ получения ключей по разным причинам (например, 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 -
11
ответ дан 26 May 2018 в 00:26

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

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

sudo launchpad-getkeys

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

8
ответ дан 26 May 2018 в 00:26
  • 1
    Это действительно то, что я делаю сейчас, так как я видел эту программу, представленную на вашем сайте. Тем не менее, цель вопроса заключалась в том, чтобы знать, как это сделать графически. – Agmenor 6 June 2011 в 03:34
  • 2
    Скрипт launchpad-getkeys теперь интегрирован в программу Y-PPA-manager. launchpad.net/~webupd8team/+archive/y-ppa-manager – monotasker 4 December 2013 в 21:41

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

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

После исправления [ f3], проблема ниже

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  

Источник - http: // naveenubuntu. blogspot.in/2011/08/fixing-gpg-keys-in-ubuntu.html

4
ответ дан 26 May 2018 в 00:26

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

4
ответ дан 26 May 2018 в 00:26

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

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

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

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

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

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

3
ответ дан 26 May 2018 в 00:26
Хорошо!

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

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

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

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

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

Ошибка GPG NO_PUBKEY сообщение # 17 на http://www.unixmen.com/fix-w-gpg-error-no_pubkey-ubuntu/

3
ответ дан 26 May 2018 в 00:26
  • 1
    Это было единственное, что сработало и для меня. Предположительно, поврежденный ключевой файл где-то? – donnek 3 April 2018 в 10:33

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

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

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

Сообщение об ошибке для ссылки:

W: GPG error: http://cdn.dyn.com stable/ Release: The following signatures were invalid: KEYEXPIRED 141943.......
1
ответ дан 26 May 2018 в 00:26

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

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