Как добавить ключ GPG в набор ключей apt sources?

68

На странице Ubuntu Doc сказано следующее:

Желательно, чтобы вы добавили ключ Opera GPG.

wget -qO - http://deb.opera.com/archive.key | sudo apt-key add -

Где я могу добавить это?

Я хочу воспользоваться советом, но я не знаю, в какую часть программного центра добавить ключи gpg.

брюс
источник
3
Я считаю, что это однострочная команда для входа в терминал
Матео
1
.msi в Ubuntu называется .deb.
Алвар
4
Как примечание, добавление ключей, которые вы выбираете через не-HTTPS, нарушает любую безопасность, которую добавляют подписывающие пакеты. По возможности, вы должны скачивать ключи по безопасному каналу (https: //).

Ответы:

86

Это однострочная команда для ввода в терминал. См. Что такое терминал и как мне его открыть и использовать?

Чтобы использовать его, вы должны вставить всю команду в терминал (не забудьте использовать https):

wget -qO - https://deb.opera.com/archive.key | sudo apt-key add -

Но, конечно, это просто утомительно копировать и вставлять команды, не зная, что они делают, и не имея инструкций о том, как отменить их действия, поэтому вот основная разбивка команд:

  • wgetзагружает что-то с сервера. Смотрите руководство по wget для Ubuntu 16.04 .
  • | является трубопроводом, который принимает выходные данные одной команды и запускает их для ввода другой
  • apt-key add добавляет ключ пакета

Таким образом, он в основном загружает ключ, а затем добавляет его в одну команду.

Я проверил команду, и она должна работать.


Теперь, чтобы убедиться, что это сработало, запустите эту команду (из этого ответа ):

apt-key list

Это перечислит добавленные ключи, и ключ от Opera должен быть перечислен внизу как это:

pub   1024D/30C18A2B 2012-10-29 [expires: 2014-10-29]
uid                  Opera Software Archive Automatic Signing Key 2013 <packager@opera.com>
sub   4096g/C528FCA9 2012-10-29 [expires: 2014-10-29]

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

sudo apt-key del 30C18A2B

с 30C18A2Bтем, чтобы быть идентификатором ключа из списка.


После выполнения этой команды и настройки источников точно так же, как на скриншоте , выполните:

sudo apt-get update
sudo apt-get install opera

(обратите внимание, что есть некоторые случайные предупреждения, но они не влияют на работу установки или центра программного обеспечения)

И для удаления (на всякий случай): как правильно полностью удалить приложение?


Итак, в заключение:

  • Добавить репозиторий введите описание изображения здесь
  • Добавить ключ с apt-key
  • Установить в терминал с apt-get
  • Поиск в тире введите описание изображения здесь
Mateo
источник
4
«apt-key adv» позволяет загрузить ключ с публичного сервера ключей.
Иеремия
После добавления ключа с apt-key addпомощью файл .key (в данном случае «archive.key») можно удалить без последствий, верно? Ключ (информация, а не файл) уже где-то добавлен в список, поэтому файл больше не нужен.
Серран
2
@Cerran, правильно. APT хранит ключи где-то еще ( /etc/apt/trusted.gpg.d/и /var/lib/apt/keyrings/например.)
Алексис Уилке
Если вы получили ошибку SSL с помощью wget, вместо этого вы можете использовать curl:curl -L https://deb.opera.com/archive.key | sudo apt-key add -
rubo77
26

Если вы вручную добавляете ключ из PPA, используйте

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 00000000

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

Например, если вы найдете эту строку:

 4096R/7BF576066

Используйте только вторую часть (независимо от ее размера), которая в этом примере 7BF576066

Пауло Коги
источник
ошибки похожи gpg: keyserver receive failed: No keyserver availableи gpg: keyserver receive failed: Connection refusedраспространены?
iuridiniz
Нет, такие ошибки не распространены. Может быть, вы пишете не тот ключ.
Пауло Коги
21

Более новые версии apt также поддерживают следующее:

apt-key adv --fetch-keys http://deb.opera.com/archive.key

Этот метод также обеспечивает более подробную обратную связь, например:

gpg: key 7BD9BF62: public key "signing key <username@domain.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

Это также имеет дополнительный бонус за устранение необходимости в дополнительных зависимостях, таких как wget или curl.

Эндрю Одри
источник
1
Продвинутый ключ не работает для https
danihodovic,
5
@ dani-h Вам нужно gnupg-curlиспользовать HTTPS, если вы используете GPG 1.x.
Тао Ван
apt-key adv --fetch-keysбудет извлекать только один ключ из URL, и если URL содержит несколько ключей, используйте wget | apt-key addвместо этого.
Тао Ван
Кажется, он уже работает с https (только что протестирован на Ubuntu 17.10)
user1182474
0

Другой способ, где у вас просто есть ключ .asc, вы загружаете ключ .asc и добавляете его в связку ключей.

Например -

curl -L https://packages.riot.im/debian/repo-key.asc | sudo apt-key add -
Shirish
источник