Fix Ubuntu/Debian apt-get “KEYEXPIRED: The following signatures were invalid”
Надіслано: 29-08-2020 23:51:31
Запуск операционной системы Ubuntu или Debian на ваших серверах обеспечивает долгий срок службы. Вы не будете часто менять серверы и переносить свои приложения.
Вы будете время от времени обслуживать свою систему и обновлять установленные пакеты, чтобы обеспечить безопасность системы.
Недавно при обслуживании программного обеспечения на нашем сервере мы столкнулись с ошибкой „The following signatures were invalid: KEYEXPIRED 1544811256“ во время работы команды apt-get update.
Эта ошибка возникает, когда ваша система устанавливает службы из сторонних репозиториев, как мы это делали с MongoDB.
Проблема.
Вы узнаете следующий вывод лога при работе apt-get update на системе Ubuntu 16.04:
Ключ GPG репозитория MongoDB истек на этом сервере. Чтобы решить эту проблему, вам нужно обновить ключ в вашей системе. Вот шаги, чтобы обновить истекший ключ:
Шаг 1. Найдите ключ с истекшим сроком действия
Найдите ключ с истекшим сроком действия в списке ключей apt. Вы можете запустить команду apt-key list, чтобы получить список всех установленных ключей. Используйте команду ниже, если вы хотите отфильтровать ключи с истекшим сроком действия:
Этот результирующий список показывает все пакеты с соответствующими деталями ключа. Важная часть - это ключ 91FA4AD5. Скопируйте эту часть, потому что она вам понадобится на втором этапе.
На момент написания этого руководства это 18 декабря 2018 г., а срок действия ключа истек четыре дня назад (14 декабря 2018 г.).
Шаг 2: Продлите истекший ключ
Теперь, когда вы знаете, у какого ключа истек срок действия, продлите его. Используйте следующую команду и замените <KEY> на значение вашего ключа (то, которое вы скопировали сверху):
Для ключа GPG MongoDB с истекшим сроком действия, команда и выходные данные выглядят следующим образом:
Отлично! Обработка ключа завершена, и ваша система получила новый ключ. Запустите команду, чтобы снова найти устаревшие ключи и убедиться, что список пуст.
Шаг 3. Повторно запустите обновление.
Теперь повторно запустите apt-get update команду для обновления ваших репозиториев
Вот и все. Теперь вы можете обновить свою систему с помощью обновленных пакетов. Наслаждайтесь!
Вы будете время от времени обслуживать свою систему и обновлять установленные пакеты, чтобы обеспечить безопасность системы.
Недавно при обслуживании программного обеспечения на нашем сервере мы столкнулись с ошибкой „The following signatures were invalid: KEYEXPIRED 1544811256“ во время работы команды apt-get update.
Эта ошибка возникает, когда ваша система устанавливает службы из сторонних репозиториев, как мы это делали с MongoDB.
Проблема.
Вы узнаете следующий вывод лога при работе apt-get update на системе Ubuntu 16.04:
Код: Виділити все
$ sudo apt-get update
Ign:11 https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 InRelease
Hit:12 https://repos.sonar.digitalocean.com/apt main InRelease
Hit:13 https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 Release
Err:17 https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 Release.gpg
The following signatures were invalid: KEYEXPIRED 1544811256
Fetched 1930 kB in 3s (601 kB/s)
Reading package lists... Done
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 Release: The following signatures were invalid: KEYEXPIRED 1544811256
W: Failed to fetch https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/3.6/Release.gpg The following signatures were invalid: KEYEXPIRED 1544811256
W: Some index files failed to download. They have been ignored, or old ones used instead.Ключ GPG репозитория MongoDB истек на этом сервере. Чтобы решить эту проблему, вам нужно обновить ключ в вашей системе. Вот шаги, чтобы обновить истекший ключ:
Шаг 1. Найдите ключ с истекшим сроком действия
Найдите ключ с истекшим сроком действия в списке ключей apt. Вы можете запустить команду apt-key list, чтобы получить список всех установленных ключей. Используйте команду ниже, если вы хотите отфильтровать ключи с истекшим сроком действия:
Код: Виділити все
$ sudo apt-key list | grep -A 1 expired
pub 4096R/91FA4AD5 2016-12-14 [expired: 2018-12-14]
uid MongoDB 3.6 Release Signing Key <[email protected]>Этот результирующий список показывает все пакеты с соответствующими деталями ключа. Важная часть - это ключ 91FA4AD5. Скопируйте эту часть, потому что она вам понадобится на втором этапе.
На момент написания этого руководства это 18 декабря 2018 г., а срок действия ключа истек четыре дня назад (14 декабря 2018 г.).
Шаг 2: Продлите истекший ключ
Теперь, когда вы знаете, у какого ключа истек срок действия, продлите его. Используйте следующую команду и замените <KEY> на значение вашего ключа (то, которое вы скопировали сверху):
Код: Виділити все
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys <KEY>Код: Виділити все
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 91FA4AD5
Executing: /tmp/tmp.XC8EiRvH3E/gpg.1.sh --keyserver
hkp://keyserver.ubuntu.com:80
--recv-keys
91FA4AD5
gpg: requesting key 91FA4AD5 from hkp server keyserver.ubuntu.com
gpg: key 91FA4AD5: "MongoDB 3.6 Release Signing Key <[email protected]>" 1 new signature
gpg: Total number processed: 1
gpg: new signatures: 1Отлично! Обработка ключа завершена, и ваша система получила новый ключ. Запустите команду, чтобы снова найти устаревшие ключи и убедиться, что список пуст.
Шаг 3. Повторно запустите обновление.
Теперь повторно запустите apt-get update команду для обновления ваших репозиториев
Код: Виділити все
$ sudo apt-get update