Как обновить связку ключей GPG на сервере Debian Wheezy

Я пытаюсь настроить Dockerized Wheezy для какой-то разработки, на производственных серверах которой все еще используется эта старая неподдерживаемая версия Debian.

Основная проблема, с которой я сталкиваюсь, связана с проверкой подписей GPG официальных репозиториев архивов.

Начиная с официального образа докера, заменив /etc/apt/sources.list на

      deb http://archive.debian.org/debian wheezy main

если я попробую, я получу результат:

      W: GPG error: http://archive.debian.org wheezy Release: The following signatures were invalid: KEYEXPIRED 1587841717 KEYEXPIRED 1668891673 KEYEXPIRED 1557241909

Проверка ключей GPG с помощьюapt-key list | grep expired

      gpg: /etc/apt//trustdb.gpg: trustdb created
pub   4096R/2B90D010 2014-11-21 [expired: 2022-11-19]
pub   4096R/C857C906 2014-11-21 [expired: 2022-11-19]
pub   4096R/518E17E1 2013-08-17 [expired: 2021-08-15]
pub   4096R/473041FA 2010-08-27 [expired: 2018-03-05]
pub   4096R/B98321F9 2010-08-07 [expired: 2017-08-05]
pub   4096R/46925553 2012-04-27 [expired: 2020-04-25]
pub   4096R/65FFB764 2012-05-08 [expired: 2019-05-07]

Поэтому я обновляю большинство из них с помощьюapt-key adv --recv-keys --keyserver keyserver.ubuntu.com $(apt-key list | grep expired | sed -E 's=[^/]+/([^ ]+).*=\1=g' | tr '\n' ' ')но все равно получаю этот результат из списка apt-key:

      pub   4096R/518E17E1 2013-08-17 [expired: 2021-08-15]
pub   4096R/B98321F9 2010-08-07 [expired: 2017-08-05]
pub   4096R/65FFB764 2012-05-08 [expired: 2019-05-07]

И теперь звонок вapt-get updateдаетW: GPG error: http://archive.debian.org wheezy Release: The following signatures were invalid: KEYEXPIRED 1587841717 KEYEXPIRED 1587841717 KEYEXPIRED 1587841717 KEYEXPIRED 1587841717 KEYEXPIRED 1587841717 KEYEXPIRED 1668891673 KEYEXPIRED 1557241909

Затем я попытался получить официальную версию Debian Keyring, но похоже, что ее невозможно установить.

      dpkg -i /tmp/debian-archive-keyring_2023.4_all.deb 
dpkg-deb: error: archive '/tmp/debian-archive-keyring_2023.4_all.deb' contains not understood data member control.tar.xz, giving up
dpkg: error processing /tmp/debian-archive-keyring_2023.4_all.deb (--install):
subprocess dpkg-deb --control returned error exit status 2
Errors were encountered while processing:
  /tmp/debian-archive-keyring_2023.4_all.deb

apt-get --allow-unauthenticated updateне работает и не заменяет содержимое файла source.list на

      deb [trusted=yes] http://archive.debian.org/debian wheezy main

Итак, есть ли способ обновить эти ключи GPG или сделать так, чтобы они не проверялись?

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

      >docker run -it debian:7.11 bash
root@f391e03326c6:/# echo "deb http://archive.debian.org/debian wheezy main" > /etc/apt/sources.list
root@f391e03326c6:/# apt-get update --allow-unauthenticated

1 ответ

Срок службы Debian 7 «Wheezy» истек более пяти лет, начиная с мая 2018 года. По этой причине просроченные ключи PGP не будут ни продлены, ни заменены. Вы могли бы использоватьс , но вам действительно следует перейти на дистрибутив, который все еще поддерживается . От man apt-get(8):

--allow-unauthenticated

Игнорируйте, если пакеты не могут быть аутентифицированы, и не запрашивайте об этом. Это может быть полезно при работе с локальными репозиториями, но представляет собой огромный риск для безопасности, если подлинность данных не обеспечивается другим способом самим пользователем. ИспользованиеОпция для записей source.list(5) обычно предпочтительнее этого глобального переопределения. Элемент конфигурации:.

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