официальный nginx верный ppa дает ошибку KEYEXPIRED gpg

34

Каждый раз, когда я делаю обновление apt-get, я получаю следующую ошибку:

Ошибка GPG: http://nginx.org trusty Release: Недопустимы следующие подписи: KEYEXPIRED 1471427554

Я просто установил официальный nginx ppa стандартным способом, добавив следующее в мой sources.list

deb http://nginx.org/packages/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/ubuntu/ trusty nginx

Является ли это ошибкой с их стороны, что они, в конце концов, исправят, или есть что-то, что мне придется сделать с моей стороны?

Мохамед Хафез
источник
1
Вы загрузили этот ключ из NGINX , затем запустили sudo apt-key add nginx_signing.keyи все еще получаете эту ошибку?
Томас Уорд
2
такое бывает ... иногда. Но это ("1471427554") не похоже на действительный ключ GPG. wget http://nginx.org/keys/nginx_signing.key -O - |sudo apt-key add -выполнит оба шага, предложенных @ThomasWard, в одной маленькой команде.
Филипп-Зьян К Ли - Стокманн
LANG=C sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 1471427554возвращает следующую ошибку: Executing: /tmp/tmp.EU8uLKmT5b/gpg.1.sh --keyserver keys.gnupg.net --recv-keys 1471427554 gpg: "1471427554" not a key ID: skipping
Филипп
1
Да, файл ключа также доступен через https.
Филипп-Зьян К Ли - Стокманн
1
@Phillip: На самом деле, 1471427554 - это отметка времени истечения срока действия ключа подписи APT. Современные версии команды даты будут разбирать его читаемый формат для вас: date -u -d @1471427554дают Wed Aug 17 09:52:34 UTC 2016.
BertD

Ответы:

48

После добавления стороннего репозитория в /etc/apt/sources.list.d/*файл или /etc/apt/sources.listвам необходимо убедиться, что соответствующий ключ gpg вставлен в хранилище ключей apt.

Чтобы быть более конкретным для этого особого случая хранилища nginx.org: вам нужно добавить файл ключа nginx.org gpg, используемый для подписи хранилища.

Это можно сделать, либо загрузив файл https://nginx.org/keys/nginx_signing.key вручную и выполнив команду sudo apt-key add nginx_signing.key(как предложено в nginx.org и @ThomasWard), либо вы можете сделать это одной строкой:

wget https://nginx.org/keys/nginx_signing.key -O - | sudo apt-key add -
Филипп-Зьян К Ли-Стокманн
источник
Хорошо, это сработало, но я, должно быть, неправильно прочитал или что-то упустил. Почему это внезапно появилось сейчас? Я не понимаю этого.
codenoob
1
@linsong описал, почему это появилось сейчас: срок действия старого ключа gpg истек 17 августа. Поэтому вам нужно было скачать новый ключ.
Филипп-Зьян К Ли - Стокманн
11

Основная причина этой проблемы заключается в том, что срок действия «старого» ключа подписи Nginx истек 17 августа 2016 года:

$ sudo apt-key list

pub   2048R/7BD9BF62 2011-08-19 [expired: 2016-08-17]
uid                  nginx signing key <signing-key@nginx.com>

Чтобы устранить эту проблему, добавьте новый ключ подписи, используя команду, предложенную @ phillip-zyan-k-lee-stockmann и @ThomasWard:

wget https://nginx.org/keys/nginx_signing.key -O - | sudo apt-key add -

Срок действия нового ключа истекает в 2024 году:

$ sudo apt-key list

pub   2048R/7BD9BF62 2011-08-19 [expires: 2024-06-14]
uid                  nginx signing key <signing-key@nginx.com>
hwdsl2
источник
Я думаю, что мне нравится этот ответ в целом, так как он пытается объяснить, что произошло лучше. (Приведенное выше объяснение не соответствовало моему
сценарию