Ошибка репозитория ubuntu нет ключа

Когда вы пытаетесь установить программу из сторонних репозиториев разработчика программы или из PPA вы можете столкнуться с ошибкой gpg недоступен открытый ключ. Это не значит, что программа платная и вам надо приобрести к ней ключ. Дело в том, что для защиты репозиториев от подмены используется подписывание пакетов с помощью GPG ключей.

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

Как вы можете видеть на снимке, программа сообщает какой именно репозиторий вызвал проблему и какого ключа не хватает:

Самый простой и правильный способ решить эту проблему — добавить ключ в систему. Обычно, там где вы нашли информацию о том как добавить репозиторий есть и информация как добавить его ключ. К тому же в выводе информации об ошибке пакетный менеджер сообщает какой ключ он ожидает увидеть. Вы можете попытаться искать такой ключ в Google или на серверах ключей Ubuntu.

В данном случае не хватает ключа от репозитория Google — 78BD65473CB3BD13. Можно попытаться получить его с серверов Ubuntu:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 78BD65473CB3BD13

Или с другого сервера:

sudo apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys 78BD65473CB3BD13

Если у вас нет ключа от PPA или любого другого репозитория, связанного с разработчиками Ubuntu это должно помочь. Ну и ключ от репозитория Google там есть:

Если же вы получаете ошибку. Ищите данный ключ в интернете, если ключа нет на сайте разработчика, то его можно найти на различных форумах. Скачайте его и добавьте в систему такой командой:

sudo apt-key add /путь/к/файлу.gpg

Ещё одна альтернатива первому способу — попытаться использовать графическую утилиту Y-PPA-Manager от webupd8. Для её установки выполните такие команды:

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt install y-ppa-manager

Затем запустите программу из главного меню или терминала. В главном окне программы выберите Advanced:

В открывшемся окне выберите Try to import all missing GPG keys, а потом дождитесь завершения работы утилиты:

После того как ключ добавлен вы можете снова попытаться импортировать репозитории и на этот раз у вас должно всё получится.

Выводы

В этой небольшой статье мы рассмотрели что делать когда возникает ошибка gpg недоступен открытый ключ и как исправить эту ошибку. Даже не думайте, что что можно обойтись без ключа. Все методы, которые позволяли просить APT игнорировать проверку ключей в современных версиях дистрибутива уже не работают. Если у вас остались вопросы, спрашивайте в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

Иногда после добавления в систему нового репозитория или истечения срока действия ключа уже используемого репозитория вы можете наблюдать сообщение которое например содержит такую фразу: NO_PUBKEY 85C2394343D5CDFA.
Для решения этой проблемы мы написали самую полную инструкцию.

Как добавить этот ключ и устранить эту проблему? — возможно это один из наиболее часто возникающих вопросов у всех кто добавлял репозитории в свою систему кроме системных по умолчанию.
В этой статье я постараюсь изложить все варианты решения которые я встретил в Интернет на разных сайтах.
Поэтому хочу попросить вас дочитать ее до конца, а не останавливаться на первой команде, тем более если она выдала у вас ошибку.

Сразу для понимания самой проблемы, определимся зачем нужны эти самые ключи и почему их требует система.
А нужны они всего лишь для одной цели — защита репозитория от подмены злоумышленником в нем информации по технологии открытых/закрытых ключей. Наша система хранит у себя первую часть ключа (открытый ключ), а сам репозиторий откуда мы берем файлы подписан второй частью ключа (закрытый ключ), который нам не доступен.

Другими словами открытый ключ репозитория который хранится в нашей системе — это своего рода цифровая подпись репозитория. Он гарантирует что все что мы загружаем из репозитория — легально и безопасно. Тем более в последних дистрибутивах, если репозиторий не подписан — он считается не достоверным и с него игнорируются все программы. Но не буду углубляться в эту тему сейчас, она достойна еще одной статьи, что бы рассказать как это работает, поэтому продолжим.

За пример возьмем Debian-подобную систему.
Итак, наша система хранит у себя открытые ключи репозиториев в двух местах:

  1. Файл /etc/apt/trusted.gpg — это один большой файл, в котором может быть информация о нескольких ключах сразу.
  2. Папка /etc/apt/trusted.gpg.d/ — в этой директории может находится много файлов с разными названиями, подобных указанному в прошлом пункте.
    По умолчанию в ней обычно уже находятся такие файлы как:
    ubuntu-keyring-2012-archive.gpg
    ubuntu-keyring-2012-cdimage.gpg
    ubuntu-keyring-2018-archive.gpg

    Сразу хочу обратить внимание на расширение файла в этой директории. Система обрабатывает только два возможных варианта файлов ключей.

    • файл ключа <имя фала>.gpg — содержимое хранится в двоичном(бинарном) виде.
    • файл ключа <имя фала>.asc — содержимое файла должно быть в текстовом виде.
      Причем содержимое файла и его расширение не стоит путать между собой, т.е. если у вас ключа в файле будет в текстовом виде, а вы укажете у файла расширение .gpg, то система его попросту проигнорирует.

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

  1. На публичных общедоступных серверах хранения публичных ключей. В этом случае рекомендуется брать их из гарантированных источников.
    Например:
    http://keyserver.ubuntu.com/
    https://keyring.debian.org/
    http://keys.gnupg.net/
    https://pgp.mit.edu/
  2. Непосредственно у разработчика репозитория. Обычно сам поставщик репозитория об этом и сообщает у себя на странице и публикует краткую инструкцию как его добавить.
    • Например, вы можете увидеть вот такую строчку:
      wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
      которая добавляет ключ репозитория непосредственно в файл /etc/apt/trusted.gpg
    • или вот такого плана:
      sudo curl -o /etc/apt/trusted.gpg.d/agp-debian-key.gpg http://download.ag-projects.com/agp-debian-key.gpg
      которая кладет файл репозитория в директорию /etc/apt/trusted.gpg.d/

Мы рассмотрим добавление ключа из серверов хранения открытых ключей. Так как 90% ключей может быть обнаружено на них, а остальные 10% нужно смотреть как их добавить непосредственно на сайте разработчика репозитория.

Для этого запускаем терминал и вводим всего одну лишь команду:
$ sudo apt-key adv --keyserver <strong>name_keyserver</strong> --recv-keys <strong>key_id</strong>
где
name_keyserver — берем один из доверенных источников публичных ключей. Например keyserver.ubuntu.com.
key_id — цифровой идентификатор необходимого нам ключа. Если брать пример нашего случая, то это будет 85C2394343D5CDFA. Можно также вначале этого кода добавить 0x, что будет говорить системе что это число в шестнадцатеричной системе исчисления.

Итак, вводим команду:

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0x85C2394343D5CDFA

Противник повержен и ключ добавлен в систему !


Теперь я хотел бы озвучить разные дополнительные плюшки решения этой проблемы.

  1. Если у вас всего один лишь ключ, то строчку можно еще укоротить на пару символов и вместо ключа --recv-keys использовать просто:--recv
    $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 0x85C2394343D5CDFA
  2. Также можно не указывать спецсимвол 0x в цифровом идентификаторе ключа:
    $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 85C2394343D5CDFA
  3. Бывают случаи когда на эту команду система не реагирует и начинает долго думать. Спасти ситуацию может следующий синтаксис указания сервера ключей:
    $ sudo apt-key adv --keyserver <strong>hkp://keyserver.ubuntu.com:80</strong> --recv 85C2394343D5CDFA
  4. Если у вас выход в интернет доступен только через прокси, тогда необходимо добавить соответствующую опцию:
    --keyserver-options http-proxy="http://your_proxy_server:port"
    где
    your_proxy_server — имя или IP-адрес вашего прокси
    port — его порт
    В результате получим приблизительно вот такой вид команды
    $ sudo apt-key adv <strong>--keyserver-options http-proxy="http://192.168.0.1:3128"</strong> --keyserver keyserver.ubuntu.com --recv 85C2394343D5CDFA
  5. Если у вас недостает сразу много ключей и вы не хотите добавлять каждый по очереди, вам должна помочь вот такая команда:
    $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <strong>`sudo apt-get update 2>&1 | grep -o '[0-9A-Z]{16}$' | xargs`</strong>
    Которая создаст список всех недостающих ключей и сразу общей кучей их добавит. В этой команде также можно добавлять опции указанные в пунктах 3 и 4.
  6. Еще есть вариант «как делали раньше». Это в том случае, если не помогло все вышесказанное.
    • Вначале получаем публичный ключ и сохраняем его непосредственно в пользовательской базе. Ключи у каждого пользователя хранятся в папке ~/.gnupg, которая расположена в его домашней папке.
      $ gpg --keyserver keyserver.ubuntu.com --recv-keys 0x85C2394343D5CDFA
      Эту команду также можно писать в интерпретациях как мы описывали выше.
    • А теперь делаем экспорт этого ключа уже из нашей пользовательской базы и добавляем его в базу системных ключей APT
      $ gpg --export --armor 85C2394343D5CDFA | sudo apt-key add --
      или так
      $ gpg -a --output /tmp/pub.asc --export 85C2394343D5CDFA
      $ sudo apt-key add /tmp/pub.asc
    • Или еще проще. Просто проведите экспорт ключа сразу в папку /etc/apt/trusted.gpg.d/
      $ sudo gpg -a --output /etc/apt/trusted.gpg.d/required_key.asc --export 85C2394343D5CDFA

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

$ sudo software-properties-gtk


Как вы догадались, через кнопку «Импортировать файл ключа».
Но как по мне это больше баловство чем удобство, особенно учитывая то, что большинство ключей в файлах не бывает.
В этой же утилите можно просмотреть те ключи, которые уже установленны в системе или удалить.

Все. Вроде ничего не упустил.

Помогла ли вам эта статья?
Или вы знаете еще что-то, чего не указано в этой статье?

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

9669133cookie-checkИсправляем ошибку NO_PUBKEY или как добавить ключ репозитория

Ошибка GPG «NO_PUBKEY» возникает, когда пользователь добавляет репозиторий программного обеспечения или PPA в Ubuntu без добавления ключа подписи GPG. Поскольку серверная часть программного обеспечения Ubuntu серьезно относится к безопасности, система не позволяет пользователю устанавливать что-либо из репозитория без этого ключа, и поэтому появляется эта ошибка. К счастью, это легко исправить.

Есть ошибки зависимости от Ubuntu? Вот как их можно исправить.

В Ubuntu Linux проблему «NO_PUBKEY» можно исправить с помощью графического интерфейса. Чтобы начать процесс, нажмите клавишу Win на клавиатуре. Нажатие этой кнопки вызовет окно поиска в Gnome на Ubuntu. Оттуда начните вводить «Программное обеспечение и обновления» в поле поиска. Затем щелкните значок с этим именем. Или, если вы не можете его найти, выберите значок с коричневой рамкой / глобусом.

Когда на экране откроется окно приложения «Программное обеспечение и обновления», просмотрите различные вкладки в приложении и нажмите «Аутентификация». Щелкнув вкладку «Аутентификация», вы попадете в область «Надежные поставщики программного обеспечения».

Не закрывайте область «Программное обеспечение и обновления» и откройте новую вкладку браузера. Затем перейдите на страницу, откуда вы получили программный PPA. На этой странице найдите ключ подписи GPG и сохраните его на свой компьютер.

На странице Launchpad нажмите «Технические детали», чтобы открыть ключ подписи, нажмите ссылку с ключом, чтобы перейти на следующую страницу.

На следующей странице щелкните ссылку рядом с «pub», чтобы открыть ключ в браузере.

Нажмите Ctrl + S на клавиатуре, чтобы сохранить файл как ключ.

После сохранения ключа на ПК с Ubuntu Linux вернитесь в приложение «Программное обеспечение и обновления» в разделе «Аутентификация». Затем в разделе «Аутентификация» найдите кнопку «Импортировать ключевой файл».

Щелкните мышью кнопку «Импортировать ключевой файл», чтобы открыть окно обозревателя файлов. Затем просмотрите окно обозревателя файлов, чтобы добавить ключевой файл в Ubuntu.

Когда ключевой файл будет добавлен в Ubuntu, вы сможете устанавливать программное обеспечение из этого репозитория программного обеспечения. Однако перед тем, как вы попытаетесь установить программное обеспечение из этого репозитория, вам необходимо обновить источники программного обеспечения Ubuntu.

Чтобы обновить источники программного обеспечения Ubuntu, нажмите кнопку «закрыть». Когда вы это сделаете, появится сообщение: «Информация о доступном программном обеспечении устарела». Нажмите кнопку «Обновить», чтобы обновить. После обновления ошибка «NO_PUBKEY» исчезнет.

Исправить ошибку GPG «NO_PUBKEY» — командная строка

Ошибка GPG «NO_PUBKEY» может быть исправлена ​​в терминале, а также исправлена ​​в графическом интерфейсе. Некоторые утверждают, что исправить эту ошибку в Ubuntu через терминал быстрее.

Откройте окно терминала на своем ПК с Ubuntu Linux, нажав Ctrl + Alt + T или Ctrl + Shift + T на клавиатуре. Затем, когда окно терминала открыто, используйте команду обновления для источников программного обеспечения Ubuntu, так как нам нужно воспроизвести ошибку.

После выполнения команды обновления вы увидите сообщение: «Следующие подписи не могут быть проверены, поскольку открытый ключ недоступен: NO_PUBKEY».

После сообщения «NO_PUBKEY» вы увидите номер. Выделите это число мышью и скопируйте его в буфер обмена. Этот номер важен, так как его можно использовать с командой восстановления для автоматического импорта отсутствующего ключа GPG в вашу систему Ubuntu Linux.

Сохранив номер в буфере обмена, введите следующую команду в окне терминала. Обязательно замените часть команды «COPIED-NUMBER-HERE» на номер, скопированный в буфер обмена на вашем ПК с Linux.

Примечание. Чтобы использовать функцию вставки в терминале Linux, нажмите Ctrl + Shift + V на клавиатуре.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys COPIED-NUMBER-HERE

Запустите команду apt-key, и она загрузит недостающий ключ GPG прямо из Интернета. Когда команда завершится, вы увидите сообщение «открытый ключ« REPO NAME Singing Key import ».

После успешного импорта отсутствующего ключа GPG в Ubuntu ошибка «NO_PUBKEY» устраняется. Однако исправление не является полным, так как исходные коды программного обеспечения Ubuntu должны быть обновлены, чтобы отразить изменения, внесенные путем импорта ключа.

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

sudo apt update

Когда команда обновления завершит работу, все должно быть в рабочем состоянии!

Предотвращение ошибок «NO_PUBKEY» в Ubuntu

Ошибки «NO_PUBKEY» легко избежать. Чтобы убедиться, что вы больше не столкнетесь с этой проблемой на своем ПК с Ubuntu Linux, сделайте следующее.

Не устанавливайте сторонние репозитории программного обеспечения, которые не предоставляют файл открытого ключа.
Добавляйте PPA в Ubuntu только через терминал. При добавлении PPA через терминал файл ключа автоматически добавляется в систему, что позволяет избежать проблемы «NO_PUBKEY».
Никогда не редактируйте исходный файл программного обеспечения для добавления в сторонний репозиторий программного обеспечения в Ubuntu.

🔍 Простой поиск по базе знаний

Иногда после подключения сторонних репозиториев при apt update или при установке пакетов в Ubuntu возникает ошибка типа

The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ХХХХХХХХХХХХ

где ХХХХХХХХХХХХ — конкретный публичный ключ.

Достаточно часто такая ситуация возникает после добавления нового репозитория в /etc/apt/sources.list с последующей попыткой установить пакет из него пакет.

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

Иногда может появляться ошибка типа «ключ устарел». Тогда нужно найти хэш нового ключа на сайте производителя. У меня несколько раз такое было с openVPN.

Хеш нужного ключа указывается в тексте ошибки после NO_PUBKEY вместо  ХХХХХХХХХХХХХ. Именно его и надо добавить в базу apt вашей системы для успешной установки пакета.

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

su
gpg --keyserver keyserver.ubuntu.com --recv ХХХХХХХХХХХХ
gpg --export --armor ХХХХХХХХХХХХ | sudo apt-key add -

Здесь вместо ХХХХХХХХХХХХ нужно подставить значение того GPG-ключа, который вы хотите добавить в свою базу.

keyserver.ubuntu.com — это сервер ключей для ubuntu, где ищется ключ с key-id ХХХХХХХХХХХХ. Серверов ключей достаточно много и в интернете можно встреть другие сервера. Но этот наиболее полный и практически все открытые ключи для программ ubuntu можно найти здесь.

После успешного экспорта правильного GPG-ключа в базу системы нужный пакет должен установиться без проблем.

Здесь необходимо отметить — команда su обязательна! sudo не подойдёт и вы получите сообщение типа :

gpg: ВНИМАНИЕ: небезопасный владелец файла конфигурации `/home/user/.gnupg/gpg.conf'

Все эти действия нужно проводить только от root.

I added some extra repositories with the Software Sources program. But when I reload the package database, I get an error like the following:

W: GPG error: http://ppa.launchpad.net trusty InRelease: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 8BAF9A6F

I know I can fix it using apt-key in a terminal, according to the official Ubuntu documentation. But I would have liked to do it graphically. Is there a way to do this without using a terminal?

Wilf's user avatar

Wilf

29.4k16 gold badges104 silver badges162 bronze badges

asked Nov 13, 2010 at 20:27

Agmenor's user avatar

8

Execute the following commands in terminal

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

where <PUBKEY> is your missing public key for repository, e.g. 8BAF9A6F.

Then update

sudo apt-get update

ALTERNATE METHOD:

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

Note that when you import a key like this using apt-key you are telling the system that you trust the key you’re importing to sign software your system will be using. Do not do this unless you’re sure the key is really the key of the package distributor.

cjs's user avatar

cjs

2941 silver badge13 bronze badges

answered Nov 28, 2010 at 18:49

karthick87's user avatar

karthick87karthick87

80.1k59 gold badges192 silver badges232 bronze badges

19

By far the simplest way to handle this now is with Y-PPA-Manager (which now integrates the launchpad-getkeys script with a graphical interface).

  1. To install it, first add the webupd8 repository for this program:

    sudo add-apt-repository ppa:webupd8team/y-ppa-manager
    
  2. Update your software list and install Y-PPA-Manager:

    sudo apt-get update
    sudo apt-get install y-ppa-manager
    
  3. Run y-ppa-manager (i.e. type y-ppa-manager then press enter key).

  4. When the main y-ppa-manager window appears, click on «Advanced.»

  5. From the list of advanced tasks, select «Try to import all missing GPG keys» and click OK.

    You’re done! As the warning dialog says when you start the operation, it may take quite a while (about 2 minutes for me) depending on how many PPA’s you have and the speed of your connection.

Community's user avatar

answered Dec 4, 2013 at 15:52

monotasker's user avatar

monotaskermonotasker

3,6351 gold badge17 silver badges15 bronze badges

18

It happens when you don’t have a suitable public key for a repository.

To solve this problem use this command:

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

which retrieves the key from ubuntu key server. And then this:

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

which adds the key to apt trusted keys.

The solution can be found here & here & here.

Kevin Bowen's user avatar

Kevin Bowen

19.3k55 gold badges76 silver badges81 bronze badges

answered Mar 27, 2011 at 22:31

Pedram's user avatar

PedramPedram

5,5813 gold badges29 silver badges37 bronze badges

7

You need to get and import the key.

To get the key from a PPA, visit the PPA’s Launchpad page. On every PPA page at Launchpad you will find this link (2), after clicking on ‘Technical details about this PPA’ (1):

image 1

Follow it and click on the key ID link (3):

image 2

Save the page, this is your key file.


Now it’s time to import it:

  • Applications > Software Center,
  • Edit > Software sources...,
  • Enter your password,
  • Go to the Authentication tab and click on Import Key File..., finally
  • Select the saved key file and click on OK.

xiota's user avatar

xiota

4,6695 gold badges24 silver badges53 bronze badges

answered Nov 13, 2010 at 21:04

htorque's user avatar

htorquehtorque

63.6k40 gold badges194 silver badges219 bronze badges

5

note: As of recent versions, it is no longer considered good practice to add PPA keys to the keyring. However, I will leave this answer but apt-key is now deprecated so it is recommended we follow different methods for now.

apt can only handle 40 keys in /etc/apt/trusted.gpg.d . 41 keys and you will get the GPG error «no public key found» even if you go through all the steps to add the missing key(s).

Check to see if there are any unused keys in this file from ppa(s) you no longer use. If all are in use, consider removing some ppa(s) along with the corresponding keyfiles in /etc/apt/trusted.gpg.d

Furthermore, using

sudo apt-key adv

Is considered a security risk and is not recommended as you are «undermining the whole security concept as this is not a secure way of recieving keys for various reasons (like: hkp is a plaintext protocol, short and even long keyids can be forged, …)«. http://ubuntuforums.org/showthread.php?t=2195579

I believe the correct way to add missing keys (for example 1ABC2D34EF56GH78) is

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

Benjamin Loison's user avatar

answered Aug 7, 2014 at 22:33

mchid's user avatar

mchidmchid

41.6k6 gold badges92 silver badges146 bronze badges

15

There is a tiny script packaged in the WebUpd8 PPA which I’ll link as a single .deb download so you don’t have to add the whole PPA — which automatically imports all missing GPG keys.

Download and install Launchpad-getkeys (ignore the ~natty in its version, it works with all Ubuntu versions from Karmic all the way to Oneiric). Once installed, open a terminal and type:

sudo launchpad-getkeys

If you’re behind a proxy, things are a bit more complicated so see this for more info

answered Jun 5, 2011 at 20:15

Alin Andrei's user avatar

Alin AndreiAlin Andrei

7,3484 gold badges41 silver badges55 bronze badges

2

I faced the same issue while installing Heroku. The link below solved my problem —

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

After fixing the NO_PUBKEY issue, the below issue remained

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

To fix it I executed the following commands in terminal:

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

Source — Link to solve it

Community's user avatar

answered Jan 30, 2013 at 17:12

dennyac's user avatar

dennyacdennyac

2175 silver badges7 bronze badges

1

Make sure you have apt-transport-https installed:

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

Add repository:

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 

Install Skype for Linux:

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

Source: https://community.skype.com/t5/Linux/Skype-for-Linux-Beta-signatures-couldn-t-be-verified-because-the/td-p/4645756

answered May 27, 2017 at 20:00

Eduardo Cuomo's user avatar

More generally, the following method should work for every repository. First of all search, with eventual help of a search engine, for a text on the program provider’s website looking like the following:

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

Such a text is for example displayed on http://deb.opera.com. Copy the passage, paste it in an empty file that you create on your desktop. This results in the key file.

Then continue with the importation of the key:

  • Applications > Sofware Center
  • Edit > Sofware sources…, enter password
  • Authentication tab, click on ‘Import Key File…’
  • Select the saved key file and click on ‘Ok’.

You may now remove the previously created key file.

answered Nov 13, 2010 at 21:43

Agmenor's user avatar

AgmenorAgmenor

15.8k18 gold badges67 silver badges103 bronze badges

0

This error can also occur when the apt list file by the PPA points to a local keyring, like

deb [signed-by=/usr/share/keyrings/SOMETHING.gpg] https://download.something.org/something something/

And while that file may exist on your system (possibly downloaded with a prior command), it may be unreadable due to missing permissions. I just fixed this kind of error by running

chmod 644 /usr/share/keyrings/*

after having fetched the keyring file. The underlying issue was the usage of sudo when I already was root user. Really weird as all of this is root anyway and there was no access permission failure message anywhere… but that fixed it

answered Jun 12, 2020 at 12:28

phil294's user avatar

phil294phil294

5698 silver badges18 bronze badges

1

Good! I finaly found the way!

I’ve tested all method’s to fix GPG error NO_PUBKEY and nothing working for me.

I’ve deleted the entire contents of the folder /etc/apt/trusted.gpg.d

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

And I use the Y-PPA-Manager method because I’m too lazy to create all pubkey’s manually (too many): http://www.unixmen.com/fix-w-gpg-error-no_pubkey-ubuntu/

run sudo apt-get update again and finaly all work great now! Tanks!

Based Source : post #17 on https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1263540

answered Apr 8, 2015 at 13:36

NeurOSick's user avatar

4

Updated version (Ubuntu 22.04 LTS)

Because apt-key is deprecated now, and you want to use /etc/apt/trusted.gpg.d/, you can use

sudo gpg --keyserver pgpkeys.mit.edu --recv-key <PUBKEY>
sudo gpg -a --export <PUBKEY> | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/<target name>.gpg

<PUBKEY> is the 8 character fingerprint like 210976F2 and <target name> is a name of your choice by which you will know that key.

answered May 23 at 11:31

smido's user avatar

smidosmido

1435 bronze badges

0

I had the same problem with DynDNS’s Updater client.

Turns out it was just expired keys.

Reinstalling the software (downloading a new .deb from the website, then using Software Centre to reinstall) fixed the problem.

Error message for reference:

W: GPG error: http://cdn.dyn.com stable/ Release: The following signatures were invalid: KEYEXPIRED 141943.......

kos's user avatar

kos

35.3k13 gold badges101 silver badges150 bronze badges

answered Jan 8, 2015 at 16:53

Cranky's user avatar

CrankyCranky

4445 silver badges11 bronze badges

2021 August. This is what worked for me.

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

The last line will raise errors of missing keys.

What you’d then have to do is manually install each of the keys listed in the errors
for example if the error is saying that your missing PUB_KEY is 9BDB3D89CE49EC21,

You can manually add the Key with the command sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9BDB3D89CE49EC21

Re-run sudo apt-get update

Repeat the process for the new key raised in the error

Say if the new key was 3BDB3D89CE49EC24,
Just Manually add the Key with the command sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3BDB3D89CE49EC24

Re-run sudo apt-get update and repeat the process until all the errors are gone.

Then go back to the package site you were trying to install and repeat the installation process.

For my case, the error was coming while I tried installing Sublime Text
Doing the above and returning to the Sublime installation guide here solved the issues.

Don’t forget to upvote if this works for you. And it must do

answered Aug 29, 2021 at 6:20

NMukama's user avatar

NMukamaNMukama

3261 silver badge13 bronze badges

Понравилась статья? Поделить с друзьями:
  • Ошибка расчетный документ не может быть пустым
  • Ошибка расчета маршрута garmin что делать
  • Ошибка расчета комиссий ora 01403 данные не найдены
  • Ошибка расчета в арм фсс
  • Ошибка расчет невозможен внимание вероятность убытка