Когда вы пытаетесь установить программу из сторонних репозиториев разработчика программы или из 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 ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
Всем доброго дня.
Подскажите как это исправить ?
Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 9D6D8F6BC857C906 NO_PUBKEY 8B48AD6246925553
Ошк:3 http://deb.debian.org/debian stretch-updates InRelease
Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 638D0442B90D010
Ошк:5 http://deb.debian.org/debian stretch Release.gpg
Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 638D0442B90D010 NO_PUBKEY EF0F382A1A7B6500
deb http://deb.debian.org/debian/ stretch main
#deb-src http://deb.debian.org/debian/ stretch main
deb http://security.debian.org/debian-security stretch/updates main
#deb-src http://security.debian.org/debian-security stretch/updates main
# stretch-updates, previously known as 'volatile'
deb http://deb.debian.org/debian/ stretch-updates main
#deb-src http://deb.debian.org/debian/ stretch-updates main
Я всегда с пониманием оцениваю любую помощь !
Гуглом совсем не пользуешься принципиально? Апдейт сделай.
кончно пользуюсь гуглом и на мою проблему нагуглил только это
apt-key adv --keyserver keyring.debian.org KEY
Я всегда с пониманием оцениваю любую помощь !
И каков результат? Кстати , апдейт пробовал сделать?
root@deb17:~# gpg --keyserver keyserver.pgp.com --recv 9D6D8F6BC857C906
gpg: сбой при получении с сервера ключей: Время ожидания соединения истекло
root@deb17:~# apt-key adv --keyserver keyring.debian.org --recv 9D6D8F6BC857C906
Executing: /tmp/apt-key-gpghome.aMfuF2zy11/gpg.1.sh --keyserver keyring.debian.org --recv 9D6D8F6BC857C906
gpg: не найдено данных формата OpenPGP.
gpg: Всего обработано: 0
Я всегда с пониманием оцениваю любую помощь !
Ключи установлены?
dpkg -l |grep keyring
Devuan GNU/Linux 4 Chimaera x86_64
root@deb17:~# dpkg -l |grep keyring
ii debian-archive-keyring 2017.5 all GnuPG archive keys of the Debian archive
Я всегда с пониманием оцениваю любую помощь !
sudo apt install debian-archive-keyring
sudo apt update
Забыл — ii — это установлено или нет? Но про апдейт третий раз повторяю.
Цитата: symon2014 от 16 апреля 2019, 18:26:10ii — это установлено или нет?
нет, его нету. А это что подскажите плиз.
root@deb17:~# apt-key update
Warning: 'apt-key update' is deprecated and should not be used anymore!
Note: In your distribution this command is a no-op and can therefore be removed safely.
Я всегда с пониманием оцениваю любую помощь !
вот еще пробовал это но так все и остается без изменений
root@deb17:~# gpg --recv-keys 9D6D8F6BC857C906
gpg: key 9D6D8F6BC857C906: 12 подписей не проверено за отсутствием ключа
gpg: ключ 9D6D8F6BC857C906: "Debian Security Archive Automatic Signing Key (8/jessie) <ftpmaster@debian.org>" не изменен
gpg: Всего обработано: 1
gpg: неизмененных: 1
root@deb17:~# gpg --recv-keys 8B48AD6246925553
gpg: key 8B48AD6246925553: 28 подписей не проверено за отсутствием ключа
gpg: ключ 8B48AD6246925553: "Debian Archive Automatic Signing Key (7.0/wheezy) <ftpmaster@debian.org>" не изменен
gpg: Всего обработано: 1
gpg: неизмененных: 1
root@deb17:~# gpg --recv-keys 7638D0442B90D010
gpg: key 7638D0442B90D010: 13 подписей не проверено за отсутствием ключа
gpg: ключ 7638D0442B90D010: "Debian Archive Automatic Signing Key (8/jessie) <ftpmaster@debian.org>" не изменен
gpg: Всего обработано: 1
gpg: неизмененных: 1
Я всегда с пониманием оцениваю любую помощь !
В посте номер 7 я написал пару команд для слепоглухих.
И заодно можно сравнить 1 и 10 посты по ключам и именам релизов , может мысль какая проклюнется.
Цитата: symon2014 от 16 апреля 2019, 19:55:10
В посте номер 7 я написал пару команд для слепоглухих.
sudo apt-get install --reinstall debian-archive-keyring && sudo apt-get update
Интересно, а куда вообще подевались ключи? Почему они пропали?
Я всегда с пониманием оцениваю любую помощь !
ЦитироватьИ это тоже пробовал.
А можно без отсебятины? Лучше текстом терминала , и без выдергиваний , под спойлер.
Перестал обновляться Яндекс.Браузер? Не беда!
Привет, друзья!
Если при обновлении с помощью команд
sudo apt upt update ; sudo apt upgrade
вылезла ошибка
W: Произошла ошибка при проверке подписи. Репозиторий не обновлён, и будут использованы предыдущие индексные файлы. Ошибка GPG: https://repo.yandex.ru/yandex-browser/deb stable InRelease: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 60B9CD3A083A7A9A
W: Не удалось получить https://repo.yandex.ru/yandex-browser/deb/dists/stable/InRelease Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 60B9CD3A083A7A9A
W: Некоторые индексные файлы скачать не удалось. Они были проигнорированы, или вместо них были использованы старые версии.
то делаем следующее
wget https://repo.yandex.ru/yandex-browser/YANDEX-BROWSER-KEY.GPG -O- | sudo apt-key add -
и пытаемся обновить еще раз.
При установке пакетов в дистрибутивах, основанных на Debian, и использующих
пакетный менеджер apt, могут возникать ошибки, например, проверки
подлинности пакетов.
При установке пакетов в дистрибутивах, основанных на Debian, и использующих
пакетный менеджер apt, могут возникать ошибки, например, проверки
подлинности пакетов.
Предположим, вы добавили сторонний репозиторий в /etc/apt/sources.list
,
после чего решили установить оттуда пакет. В результате можно получить
такую ошибку:
W: GPG error: ...
Release: The following signatures couldn’t be verified because
the public key is not available: NO_PUBKEY F9A2F76A9D1A0061
С русской локализацией это будет выглядеть так:
W: Ошибка: ...
Release: Следующие подписи не могут быть проверены,
так как недоступен открытый ключ: NO_PUBKEY F9A2F76A9D1A0061
Для того, чтобы её решить, надо добавить публичный GnuPG ключ репозитория
в вашу систему – тогда пакетный менеджер будет знать, что подписанный
соответствующим приватным ключом пакет, от доверенного лица:
gpg --keyserver subkeys.pgp.net --recv F9A2F76A9D1A0061
gpg --export --armor F9A2F76A9D1A0061 | sudo apt-key add -
F9A2F76A9D1A0061 – это хеш ключа, который не смог найти установщик пакетов.
Альтренативный вариант – использовать утилиту apt-key:
sudo apt-key adv
--recv-keys
--keyserver keyserver.ubuntu.com
F9A2F76A9D1A0061
Или же можно установить сразу все недостающие ключи:
sudo apt-key adv
--recv-keys
--keyserver keyserver.ubuntu.com
$(sudo apt-get update 2>&1 | grep -o '[0-9A-Z]{16}$' | xargs)
Если же вы находитесь за proxy, то нужно это указать в команде, добавив ключ
--keyserver-options http-proxy="адрес:порт"
.
Иногда при обновлении системы, может возникнуть ошибка GPG — какойто репозиторий поменял ключи.
В этой заметке я покажу, как быстро избавиться от этой ошибки.
sudo apt-get update
sudo apt-get update
Итак, однажды вы запускаете команду обновления индексов пакетах в репозиториях, привычной нам командой:
sudo apt-get updateИ у вас возникает ошибка GPG:
Ошибка GPG: http://download.virtualbox.org/virtualbox/debian xenial InRelease: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY A2F683C52980AECF
Ничего критично, можно продолжать пользоваться системой и не дергаться на счет этих ключей, ничего не случится в принципе.
Но мы пофиксим эту ошибку — ибо нефиг консоль «ошибками» пачкать.
Рассмотрим первый способ.
сециально для тех кто делает всё через графический интерфейс.
Находим в главном меню «Менеджер обновлений», открываем и заходим в «Настройки»:
На вкладке «Аутентификация» находим ключ, который выдавал ошибку.
Чтобы узнать значение, в консоле смотрим на ошибку:
Ошибка GPG: http://download.virtualbox.org/virtualbox/debian xenial InRelease: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY A2F683C52980AECF
Смотрите на значение после NO_PUBKEY, в данном примере оно соответствует значению A2F683C52980AECF
Вот с этим значением нам и надо найти ключ и удалить его, после чего снова запустить обновление индексов пакетов:
sudo apt-get update
Теперь рассмотрим два консольных варианта.
Смотрим на значение NO_PUBKEY, в данном примере оно соответствует значению A2F683C52980AECF и поддставляем это значение в команду
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys
То есть нужно просто выполнить команду:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A2F683C52980AECF
И снова:
sudo apt-get update
Если руки прямые — ошибок быть не должно.
Ну и теперь самый лучший способ.
Откройте терминал и выполните следующую команду:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com sudo apt-get update 2>&1 | grep -o '[0-9A-Z]{16}$' | xargs
Эта команда к подключенным репозиториям Ubuntu автоматически найдет и добавит отсутствующие ключи безопасности .
Вот както так.