No pubkey astra linux

No pubkey astra linux

Иногда после добавления в систему нового репозитория или истечения срока действия ключа уже используемого репозитория вы можете наблюдать сообщение которое например содержит такую фразу: NO_PUBKEY 85C2394343D5CDFA.
Для решения этой проблемы мы написали самую полную инструкцию.

Как добавить этот ключ и устранить эту проблему? — возможно это один из наиболее часто возникающих вопросов у всех кто добавлял репозитории в свою систему кроме системных по умолчанию.
В этой статье я постараюсь изложить все варианты решения которые я встретил в Интернет на разных сайтах.
Поэтому хочу попросить вас дочитать ее до конца, а не останавливаться на первой команде, тем более если она выдала у вас ошибку.

Сразу для понимания самой проблемы, определимся зачем нужны эти самые ключи и почему их требует система.
А нужны они всего лишь для одной цели — защита репозитория от подмены злоумышленником в нем информации по технологии открытых/закрытых ключей. Наша система хранит у себя первую часть ключа (открытый ключ), а сам репозиторий откуда мы берем файлы подписан второй частью ключа (закрытый ключ), который нам не доступен.

Другими словами открытый ключ репозитория который хранится в нашей системе — это своего рода цифровая подпись репозитория. Он гарантирует что все что мы загружаем из репозитория — легально и безопасно. Тем более в последних дистрибутивах, если репозиторий не подписан — он считается не достоверным и с него игнорируются все программы. Но не буду углубляться в эту тему сейчас, она достойна еще одной статьи, что бы рассказать как это работает, поэтому продолжим.

За пример возьмем Debian-подобную систему.
Итак, наша система хранит у себя открытые ключи репозиториев в двух местах:

  1. Файл /etc/apt/trusted.gpg — это один большой файл, в котором может быть информация о нескольких ключах сразу.
  2. Папка /etc/apt/trusted.gpg.d/ — в этой директории может находится много файлов с разными названиями, подобных указанному в прошлом пункте.
    По умолчанию в ней обычно уже находятся такие файлы как:
    ubuntu-keyring-2012-archive.gpg
    ubuntu-keyring-2012-cdimage.gpg
    ubuntu-keyring-2018-archive.gpg
    Сразу хочу обратить внимание на расширение файла в этой директории. Система обрабатывает только два возможных варианта файлов ключей.
  • файл ключа .gpg — содержимое хранится в двоичном(бинарном) виде.
  • файл ключа .asc — содержимое файла должно быть в текстовом виде.
    Причем содержимое файла и его расширение не стоит путать между собой, т.е. если у вас ключа в файле будет в текстовом виде, а вы укажете у файла расширение .gpg, то система его попросту проигнорирует.
Читайте также:  Download tar bz2 linux

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

  1. На публичных общедоступных серверах хранения публичных ключей. В этом случае рекомендуется брать их из гарантированных источников.
    Например:
    http://keyserver.ubuntu.com/
    https://keyring.debian.org/
    http://keys.gnupg.net/
    https://pgp.mit.edu/
  2. Непосредственно у разработчика репозитория. Обычно сам поставщик репозитория об этом и сообщает у себя на странице и публикует краткую инструкцию как его добавить.
    • Например, вы можете увидеть вот такую строчку:
      wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add —
      которая добавляет ключ репозитория непосредственно в файл /etc/apt/trusted.gpg
    • или вот такого плана:
      sudo curl -o /etc/apt/trusted.gpg.d/agp-debian-key.gpg http://download.ag-projects.com/agp-debian-key.gpg
      которая кладет файл репозитория в директорию /etc/apt/trusted.gpg.d/

Мы рассмотрим добавление ключа из серверов хранения открытых ключей. Так как 90% ключей может быть обнаружено на них, а остальные 10% нужно смотреть как их добавить непосредственно на сайте разработчика репозитория.

Для этого запускаем терминал и вводим всего одну лишь команду:
$ sudo apt-key adv —keyserver name_keyserver —recv-keys key_id
где
name_keyserver — берем один из доверенных источников публичных ключей. Например keyserver.ubuntu.com.
key_id — цифровой идентификатор необходимого нам ключа. Если брать пример нашего случая, то это будет 85C2394343D5CDFA. Можно также вначале этого кода добавить 0x, что будет говорить системе что это число в шестнадцатеричной системе исчисления.

Итак, вводим команду:

Противник повержен и ключ добавлен в систему !

Теперь я хотел бы озвучить разные дополнительные плюшки решения этой проблемы.

  1. Если у вас всего один лишь ключ, то строчку можно еще укоротить на пару символов и вместо ключа —recv-keys использовать просто: —recv
    $ sudo apt-key adv —keyserver keyserver.ubuntu.com —recv 0x85C2394343D5CDFA
  2. Также можно не указывать спецсимвол 0x в цифровом идентификаторе ключа:
    $ sudo apt-key adv —keyserver keyserver.ubuntu.com —recv 85C2394343D5CDFA
  3. Бывают случаи когда на эту команду система не реагирует и начинает долго думать. Спасти ситуацию может следующий синтаксис указания сервера ключей:
    $ sudo apt-key adv —keyserver hkp://keyserver.ubuntu.com:80 —recv 85C2394343D5CDFA
  4. Если у вас выход в интернет доступен только через прокси, тогда необходимо добавить соответствующую опцию:
    —keyserver-options http-proxy=»http://your_proxy_server:port»
    где
    your_proxy_server — имя или IP-адрес вашего прокси
    port — его порт
    В результате получим приблизительно вот такой вид команды
    $ sudo apt-key adv —keyserver-options http-proxy=»http://192.168.0.1:3128″ —keyserver keyserver.ubuntu.com —recv 85C2394343D5CDFA
  5. Если у вас недостает сразу много ключей и вы не хотите добавлять каждый по очереди, вам должна помочь вот такая команда:
    $ sudo apt-key adv —keyserver keyserver.ubuntu.com —recv-keys `sudo apt-get update 2>&1 | grep -o ‘[0-9A-Z]<16>$’ | xargs`
    Которая создаст список всех недостающих ключей и сразу общей кучей их добавит. В этой команде также можно добавлять опции указанные в пунктах 3 и 4.
  6. Еще есть вариант «как делали раньше». Это в том случае, если не помогло все вышесказанное.
    • Вначале получаем публичный ключ и сохраняем его непосредственно в пользовательской базе. Ключи у каждого пользователя хранятся в папке

/.gnupg, которая расположена в его домашней папке.
$ gpg —keyserver keyserver.ubuntu.com —recv-keys 0x85C2394343D5CDFA
Эту команду также можно писать в интерпретациях как мы описывали выше.

  • А теперь делаем экспорт этого ключа уже из нашей пользовательской базы и добавляем его в базу системных ключей APT
    $ gpg —export —armor 85C2394343D5CDFA | sudo apt-key add —
    или так
    $ gpg -a —output /tmp/pub.asc —export 85C2394343D5CDFA
    $ sudo apt-key add /tmp/pub.asc
  • Или еще проще. Просто проведите экспорт ключа сразу в папку /etc/apt/trusted.gpg.d/
    $ sudo gpg -a —output /etc/apt/trusted.gpg.d/required_key.asc —export 85C2394343D5CDFA
  • Если у вас есть ключ репозитория в виде файла, его также можно добавить используя графическую утилиту


    Как вы догадались, через кнопку «Импортировать файл ключа».
    Но как по мне это больше баловство чем удобство, особенно учитывая то, что большинство ключей в файлах не бывает.
    В этой же утилите можно просмотреть те ключи, которые уже установленны в системе или удалить.

    Все. Вроде ничего не упустил.

    Помогла ли вам эта статья?
    Или вы знаете еще что-то, чего не указано в этой статье?

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

    Источник

    Установка пакетов

    Пакет VirtualBox доступен для скачивания на официальном сайте web-сайте https://www.virtualbox.org/wiki/Linux_Downloads. Для установки в Astra Linux следует выбирать версию, предназначенную для совместимого дистрибутива Debian (см. Таблица вариантов исполнения Astra Linux Special Edition).

    Кроме файла с собственно пакетом VirtualBox рекомендуется также установить плагин расширений (extension pack). Этот файл также доступен на сайте VirtualBox;

    Получить и установить пакеты для установки можно следующими способами:

    • из репозитория Oracle VirtualBox;
    • из репозитория Debian;
    • из загруженных файлов без подключения сторонних репозиториев.

    Установка из репозитория Oracle VirtualBox

    установить пакет ca-certificates, если он не был ранее установлен:

    sudo apt install ca-certificates

    получить и установить ключ для репозитория Oracle VirtualBox:

    wget https://www.virtualbox.org/download/oracle_vbox_2016.asc -O — | sudo apt-key add

    Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7):

    Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6):

    убедиться, что в подключенных репозиториях присутствует пакет libvpx4 (для Astra Linux Special Edition 1.6) или libvpx5 (для Astra Linux Special Edition 1.7) :

    sudo apt update
    apt-cache policy libvpx*

    если пакет отсутствует, то:

    установить пакет debian-archive-keyring:

    sudo apt install debian-archive-keyring

    подключить репозиторий Debian:

    для Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7):

    для Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6):

    обновить список пакетов:

    sudo apt update

    Проверить доступные версии VirtualBox:

    apt-cache policy virtualbox*

    Установить нужную версию virtualbox, например virtualbox-6.1:

    sudo apt install virtualbox-6.1

    Установка из репозитория Debian

    Доступная в репозитории Debian версия virtualbox несовместима с ядром 5.4. При наличии в системе даже незагруженных версий ядра (5.4.0.54, 5.4.0.71) при установке пакета будут выдаваться сообщения об ошибке. Удалить образы ядра 5.4 можно командами:

    sudo apt purge linux-image-5.4.0-71-generic
    sudo apt purge linux-image-5.4.0-54-generic

    для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) — неприменимо;

    для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6):

    Обновить списки пакетов:

    sudo apt update

    Если при обновлении списка пакетов выдаются ошибки вида:

    то установить ключи для подключенного репозитория:

    sudo apt install debian-archive-keyring

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

    sudo apt-key adv —keyserver keyserver.ubuntu.com —recv-keys 04EE7237B7D453EC
    sudo apt-key adv —keyserver keyserver.ubuntu.com —recv-keys 648ACFD622F3D138
    sudo apt-key adv —keyserver keyserver.ubuntu.com —recv-keys 7638D0442B90D010
    sudo apt-key adv —keyserver keyserver.ubuntu.com —recv-keys 04EE7237B7D453EC
    sudo apt-key adv —keyserver keyserver.ubuntu.com —recv-keys EF0F382A1A7B6500

    После подключения репозиториев выполнить установку пакетов из этого репозитория стандартным инструментом apt:

    sudo apt install virtualbox

    Установка из загруженных файлов без подключения сторонних репозиториев

    для установки на Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) и Astra Linux Special Edition РУСБ.10015-16 исп. 1:

    Подключить в качестве источника пакетов диск со средствами разработки и диски оперативных обновлений (обновление основного диска и обновление диска со средствами разработки);

    Установить пакет ca-certificates (требуется только для скачивания файлов):

    sudo apt install ca-certificates

    если в подключенных репозиториях недоступен пакет libvpx*, то скачать его из репозитория Debian:

    Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7):

    Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6):

    скачать файл с пакетом virtualbox с web-сайта VirtualBox: https://www.virtualbox.org/wiki/Downloads;

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

    sudo apt install ./

    sudo apt install ./ ./libvpx*_amd64.deb

    Выдаваемое при установке предупреждение:

    Установка Дополнений гостевой ОС на ГОСТЕВЫЕ машины

    Порядок установки дополнений гостевой ОС см. в статье Установка Astra Linux на виртуальные машины

    Возможные проблемы

    Не работают элементы диалогового окна выбора носителя » настройки VM -> Носители -> Выбор образа оптического диска»

    /.config/Trolltech.conf в секции [Qt] прописать строку:

    /.config/Trolltech.conf» data-macro-schema-version=»1″ style=»background-image: url(https://wiki.astralinux.ru/plugins/servlet/confluence/placeholder/macro-heading?definition=e2NvZGU6dGl0bGU9fi8uY29uZmlnL1Ryb2xsdGVjaC5jb25mfQ&locale=ru_RU&version=2); background-repeat: no-repeat;» data-macro-body-type=»PLAIN_TEXT»>

    Перезапустить окно VirtualBox.

    Ошибка «VBoxNetAdpCtl: Error while adding new interface: failed to open.dev/vboxnetctl: No such file or directory»

    Если после обновления ядра возникает ошибка «VBoxNetAdpCtl: Error while adding new interface: failed to open.dev/vboxnetctl: No such file or directory». Драйвер ядра VirtualBox Linux (vboxdrv) не установлен необходимо:

    sudo modprobe vboxdrv

    Если это не помогло, то выполнить команды:

    sudo apt update
    sudo apt install —reinstall linux-headers-$(uname -r) virtualbox-dkms dkms

    Затем перезагрузить систему, после чего заново выполнить команду:

    sudo modprobe vboxdrv

    Если не помогло, то необходимо отключить Secure Boot в BIOS/UEFI

    Источник

    КомпСовет