Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Signature-Verification-Failed Linux / DevOps

Ошибка apt update 'Signature verification failed': как обновить GPG-ключи репозитория

Обновлено: 27.08.2026 · Официальная документация ↗

Почему возникает ошибка цифровой подписи при обновлении системы

Пакетный менеджер APT в целях безопасности проверяет каждый скачиваемый репозиторий с помощью криптографической цифровой подписи (GPG-ключа). Если разработчики репозитория обновили устаревший ключ безопасности, у ключа истек срок действия (Expired key) или в системе отсутствует открытый ключ, команда sudo apt update блокирует обновление с фатальными ошибками.

Типичные сообщения об ошибке

  • The following signatures were invalid: EXPKEYSIG ...
  • GPG error: ... The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 8719F39F22458A51
  • E: The repository '...' is not signed. Updating from such a repository can't be done securely.

Пошаговое исправление ошибок GPG-ключей

Способ 1: Автоматический импорт отсутствующего ключа по его номеру (NO_PUBKEY)

Если в ошибке указан конкретный 16-значный шестнадцатеричный номер ключа (например, 8719F39F22458A51), загрузите его напрямую с публичного сервера ключей Ubuntu:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8719F39F22458A51

Способ 2: Современный безопасный метод для Ubuntu 22.04 / 24.04 (папка /etc/apt/keyrings)

Утилита apt-key в новых версиях Ubuntu объявлена устаревшей (deprecated). Правильный современный способ импорта ключа в изолированную директорию:

 Создаем системную папку для изолированных ключей:
sudo mkdir -p /etc/apt/keyrings

 Скачиваем ключ и конвертируем его в бинарный формат gpg:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Шаг 3: Проверка системных часов (Частая скрытая причина)

Если на сервере сбились системная дата и время, сертификаты ключей мгновенно признаются системой недействительными. Проверьте и синхронизируйте часы:

timedatectl
sudo timedatectl set-ntp true

Шаг 4: Повторное обновление локальной базы пакетов

sudo apt update

Все репозитории должны успешно обновиться со статусом Hit или Get без красных ошибок.

Типовые ошибки администраторов

  • Игнорирование ошибок с флагом --allow-unauthenticated: Попытка принудительно установить пакеты без проверки подписей отключает защиту от MITM-атак, позволяя злоумышленникам подменить бинарные файлы программ на сервере.
  • Забытые заброшенные репозитории (PPA): Если проект закрылся, а его PPA-репозиторий удален авторами, удалите устаревший файл из папки /etc/apt/sources.list.d/.
Не удается установить критические обновления безопасности из-за конфликтов репозиториев?
ITSTM проведет ревизию пакетной базы ваших Linux-серверов, исправит поврежденные PPA-источники и настроит локальные зеркала пакетов.
💡 Практика специалистов: Никогда не сохраняйте сторонние ключи репозиториев прямо в общую системную связку '/etc/apt/trusted.gpg'. Всегда используйте изолированную директорию '/etc/apt/keyrings/', чтобы скомпрометированный ключ от одного пакета не мог подтверждать подлинность системных пакетов операционной системы.

Частые вопросы (FAQ)

Почему команда apt-key выдает предупреждение 'apt-key is deprecated'?

В целях безопасности глобальное доверие ключам для всей системы заменено на изолированные ключи. Теперь каждый репозиторий в sources.list должен иметь персональную ссылку на свой ключ через параметр 'signed-by=/etc/apt/keyrings/имя.gpg'.

Как удалить сломанный PPA-репозиторий, который больше не обновляется?

Удалите соответствующий .list файл из директории /etc/apt/sources.list.d/ или воспользуйтесь утилитой: sudo add-apt-repository --remove ppa:имя_автора/имя_репозитория.

Что делать, если сервер keyserver.ubuntu.com не отвечает по порту 11371?

Некоторые провайдеры блокируют порт HKP (11371). Укажите опрос через стандартный веб-порт 80: sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys НОМЕР_КЛЮЧА.

Как посмотреть список всех установленных GPG ключей в системе?

Выполните команду: sudo apt-key list или посмотрите файлы в директории /etc/apt/trusted.gpg.d/.

Полезные материалы
Рекомендуем