Intereting Posts
Запуск Debian 9 завершается неудачно с: `Не удалось запустить Raise network interfaces` после замены материнской платы Постоянная перезагрузка после удаления grub В pfSense каковы значения столбцов «Целевые категории» и «Целевые категории для нерабочего времени» на экране ACL групп? Сохраняйте только строки, содержащие точное количество разделителей Результат echo $ HOSTNAME становится ключом к переменной Измерение пропускной способности сети на Solaris Что это за папка / run / user / 1000? Листинг файлов больше, чем конкретная метка времени в имени файла? Считывать импульс громкости из командной строки? (Я хочу: «pactl GET-sink-volume») Arch: не удается использовать pacman: ошибка при загрузке разделяемых библиотек Быть root без запроса пароля в сценарии оболочки Как сделать соединение ssh с контейнером LXC по его названию? Как автоматически обновлять каталог верхнего содержания Открыть файл поверх ssh в локальном X-окне Инструменты инкрементного резервного копирования командной строки

Где zypper устанавливает ключи для подписи хранилища или пакета?

У меня две почти идентичные виртуальные машины openSuSE 12.3, snip и snap .

Во время обновления их сегодня попросили подтвердить новый repository or package signing key , а другой – нет.

Я хочу убедиться, что я не сделал ничего плохого (на случай, если один из них был скомпрометирован так или иначе), тем более, что система, не запрашивающая ключ, указывает, что все репозитории обновлены.

Итак :

  1. Где zypper устанавливает эти ключи?
  2. Как я могу перечислить установленные ключи?
  3. Как я могу проверить, действительно ли эти ключи действительно действительны?

Система просит доверять ключу:

 snap:/home/jeroenp # zypper repos -d # | Alias | Name | Enabled | Refresh | Priority | Type | URI | Service ---+---------------------------+------------------------------------+---------+---------+----------+--------+-------------------------------------------------------------------------------------------------+-------- 1 | Security_-_openSUSE_12.3 | Security - openSUSE 12.3 | Yes | Yes | 99 | rpm-md | http://download.opensuse.org/repositories/security/openSUSE_12.3/ | 2 | openSUSE-12.3-1.6 | openSUSE-12.3-1.6 | Yes | No | 99 | yast2 | cd:///?devices=/dev/disk/by-id/ata-VMware_Virtual_IDE_CDROM_Drive_10000000000000000001,/dev/sr0 | 3 | repo-debug | openSUSE-12.3-Debug | No | Yes | 99 | NONE | http://download.opensuse.org/debug/distribution/12.3/repo/oss/ | 4 | repo-debug-update | openSUSE-12.3-Update-Debug | No | Yes | 99 | NONE | http://download.opensuse.org/debug/update/12.3/ | 5 | repo-debug-update-non-oss | openSUSE-12.3-Update-Debug-Non-Oss | No | Yes | 99 | NONE | http://download.opensuse.org/debug/update/12.3-non-oss/ | 6 | repo-non-oss | openSUSE-12.3-Non-Oss | Yes | Yes | 99 | yast2 | http://download.opensuse.org/distribution/12.3/repo/non-oss/ | 7 | repo-oss | openSUSE-12.3-Oss | Yes | Yes | 99 | yast2 | http://download.opensuse.org/distribution/12.3/repo/oss/ | 8 | repo-source | openSUSE-12.3-Source | No | Yes | 99 | NONE | http://download.opensuse.org/source/distribution/12.3/repo/oss/ | 9 | repo-update | openSUSE-12.3-Update | Yes | Yes | 99 | rpm-md | http://download.opensuse.org/update/12.3/ | 10 | repo-update-non-oss | openSUSE-12.3-Update-Non-Oss | Yes | Yes | 99 | rpm-md | http://download.opensuse.org/update/12.3-non-oss/ | snap:/home/jeroenp # zypper update Retrieving repository 'Security - openSUSE 12.3' metadata ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------[\] New repository or package signing key received: Key ID: 69D1B2AAEE3D166A Key Name: security OBS Project <security@build.opensuse.org> Key Fingerprint: AAF3EB044C49C402A9E7B9AE69D1B2AAEE3D166A Key Created: Mon May 26 11:04:43 2014 Key Expires: Wed Aug 3 11:04:42 2016 Repository: Security - openSUSE 12.3 Do you want to reject the key, trust temporarily, or trust always? [r/t/a/? shows all options] (r): ^Csnap:/home/jeroenp # ^C snap:/home/jeroenp # 

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

 snip:/home/jeroenp # zypper repos -d # | Alias | Name | Enabled | Refresh | Priority | Type | URI | Service ---+---------------------------+------------------------------------+---------+---------+----------+--------+-------------------------------------------------------------------------------------------------+-------- 1 | Security_-_openSUSE_12.3 | Security - openSUSE 12.3 | Yes | Yes | 99 | rpm-md | http://download.opensuse.org/repositories/security/openSUSE_12.3/ | 2 | openSUSE-12.3-1.6 | openSUSE-12.3-1.6 | Yes | No | 99 | yast2 | cd:///?devices=/dev/disk/by-id/ata-VMware_Virtual_IDE_CDROM_Drive_10000000000000000001,/dev/sr0 | 3 | repo-debug | openSUSE-12.3-Debug | No | Yes | 99 | NONE | http://download.opensuse.org/debug/distribution/12.3/repo/oss/ | 4 | repo-debug-update | openSUSE-12.3-Update-Debug | No | Yes | 99 | NONE | http://download.opensuse.org/debug/update/12.3/ | 5 | repo-debug-update-non-oss | openSUSE-12.3-Update-Debug-Non-Oss | No | Yes | 99 | NONE | http://download.opensuse.org/debug/update/12.3-non-oss/ | 6 | repo-non-oss | openSUSE-12.3-Non-Oss | Yes | Yes | 99 | yast2 | http://download.opensuse.org/distribution/12.3/repo/non-oss/ | 7 | repo-oss | openSUSE-12.3-Oss | Yes | Yes | 99 | yast2 | http://download.opensuse.org/distribution/12.3/repo/oss/ | 8 | repo-source | openSUSE-12.3-Source | No | Yes | 99 | NONE | http://download.opensuse.org/source/distribution/12.3/repo/oss/ | 9 | repo-update | openSUSE-12.3-Update | Yes | Yes | 99 | rpm-md | http://download.opensuse.org/update/12.3/ | 10 | repo-update-non-oss | openSUSE-12.3-Update-Non-Oss | Yes | Yes | 99 | rpm-md | http://download.opensuse.org/update/12.3-non-oss/ | snip:/home/jeroenp # zypper update Loading repository data... Reading installed packages... The following package update will NOT be installed: libudev0 Nothing to do. snip:/home/jeroenp # snip:/home/jeroenp # zypper refreshRepository 'Security - openSUSE 12.3' is up to date. Repository 'openSUSE-12.3-1.6' is up to date. Repository 'openSUSE-12.3-Non-Oss' is up to date. Repository 'openSUSE-12.3-Oss' is up to date. Repository 'openSUSE-12.3-Update' is up to date. Repository 'openSUSE-12.3-Update-Non-Oss' is up to date. All repositories have been refreshed. snip:/home/jeroenp # 

На форумах openSuSE пользователь Robi Listas дал начало ответа, который я закончил . Вот резюме:

Zypper не раскрывает расположение ключей, но файлы ключей репозитория на openSuSE находятся в /var/cache/zypp/raw/*/repodata где * – это псевдоним репозитория из списка, который вы можете получить через zypper repos .

Я написал небольшой скрипт bash repomd_test.sh, основанный на скрипте Tojaj, который вы можете вызвать так для каждого каталога repodata :

 for d in /var/cache/zypp/raw/*/repodata; do ~/repomd_test.sh $d; done 

Каждый из этих каталогов имеет три файла:

  • repomd.xml репозитория repomd.xml (это XML)
  • repomd.xml.asc ASCII "брони" подпись repomd.xml
  • repomd.xml.key публичный ключ repomd.xml.key ASCII, используемый для создания подписи repomd.xml.asc

Сценарий создает временный каталог ключей для GnuPG .

Затем для repodata он добавляет repomd.xml.key в keyring, а затем проверяет, что repomd.xml действительно соответствует подписи repomd.xml.asc и печатает отпечатки пальцев и метаинформацию (например, истечение срока действия).