Як я обходжу / ігнорую перевірку підписів gpg у відповідність?


47

Усі ключові сервери, які я відвідую, закінчуються. Мені потрібно встановити пакети, не перевіряючи підписи відкритих ключів. Чи є спосіб обійти всі перевірки підпису / проігнорувати всі помилки підпису або нерозумно сприймати думки про підпис?

Я дуже добре знаю, що це робити небезпечно


1
Зазвичай ви встановлювали б ключ локально одночасно з додаванням сховища, тож чому вам потрібно звертатися до серверів ключів?
JanC

Відповіді:


68

Передайте --allow-unauthenticatedпараметр apt-getяк у:

sudo apt-get --allow-unauthenticated upgrade

З сторінки керівництва від apt-get:

- Позволити-неаутентифіковано
Ігнорувати, якщо пакети неможливо пройти автентифікацію та не вимагати про це. Це корисно для таких інструментів, як pbuilder. Елемент конфігурації: APT :: Get :: AllowUnauthentication.

Ви можете зробити це налаштування постійним, скориставшись власним конфігураційним файлом у /etc/apt/apt.conf.d/dir. Ім'я файлу може бути, 99myownі воно може містити цей рядок:

APT::Get::AllowUnauthenticated "true";

Таким чином, вам не потрібно використовувати цю опцію щоразу, коли ви хочете встановити програмне забезпечення. Примітка. Я не рекомендую встановлювати цю опцію за замовчуванням, вона обминає перевірки підписів, які можуть дозволити противнику компрометувати ваш комп’ютер.


4
Для інформації: Ця робота з, apt-getале не з простою aptкомандою.
Тор Клінгберг

2
Ubuntu 16.0 LTS. Це не працює / нічого не впливає
wvxvw

7

Якщо ви намагаєтесь отримати пакет із сховища, де вони запакували ключі та включили їх у сховище, і ніде більше, це може бути дуже прикро завантажувати та встановлювати пакет ключів / ключів за допомогою dpkg, і це дуже важко зробити у легко написаному та повторюваному способі.

Наведений нижче сценарій не рекомендується, якщо ви можете встановити ключі з сервера за допомогою клавіш або завантажити їх з надійного джерела через https, але якщо у вас немає жодного іншого способу, ви можете використовувати це.

echo "deb http://your.repo.domain/repository/ $(lsb_release -c -s) universe" | sudo tee /etc/apt/sources.list.d/your-repo-name.list

sudo apt -o Acquire::AllowInsecureRepositories=true \
-o Acquire::AllowDowngradeToInsecureRepositories=true \
update

## if the 'apt update' above fails it is likely due to previously
## having the GPG key and repository on the system, you can clean
## out the old lists with `sudo rm /var/lib/apt/lists/your.repo.domain*`

apt-get -o APT::Get::AllowUnauthenticated=true install repo-keyring-pkgname

## If you ever run `sudo apt-key del your-repos-keyID`
## you may have to `sudo apt remove --purge repo-keyring-pkgname`
## Update should run without the GPG warnings now that the key is installed

apt-get update
apt-get install somepkg-from-repo

Я спочатку склав це разом, тому що i3 у своєму sur5r repo це робить, але потім я виявив, що їх ключі знаходяться у списку keyserver.ubuntu.com, тож я можу просто sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E3CA1A89941C42E6уникати зайвих проблем із пакетом.


Прийшов сюди через проблему i3 - sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E3CA1A89941C42E6вирішив! Дуже дякую!
Бенедікт Кьоппель,

6

Можливо, ви можете спробувати створити файл /etc/apt/apt.conf (він буде прочитаний, якщо ви його створили) та вставте цей код:

APT{Ignore {"gpg-pubkey"; }};

5
Це не працює для мене. Але працює, коли я додавAPT { Get { AllowUnauthenticated "1"; }; };
php-coder

ubuntu 16.0 LTS: не впливає на те, що вдається.
wvxvw

1

Створіть за /etc/apt/apt.conf.d/99allow_unauthдопомогою цього вмісту:

APT { Get { AllowUnauthenticated "1"; }; };

Завдяки PHP-кодировщик «s коментар .


0

Я зіткнувся з тією ж проблемою зі старим сервером debian. Я не міг зробити подію

apt-get update

яка дала мені таку помилку:

E: Release file expired, ignoring http://archive.debian.org/debian/dists/squeeze-lts/Release (invalid since 1183d 0h 2min 51s)

Нарешті рішення було додати це:

Acquire::Check-Valid-Until false;

до /etc/apt/apt.conf (створити його, якщо його не існує). Після цього помилка стала простим попередженням.

Гадаю, це може працювати і на ubuntu.

Зверніть увагу, що це абсолютно небезпечно.


Якщо це небезпечно, то пропоную вам взагалі не публікувати його.
Юфенюй Вейдер Дідер

Безпечний спосіб зробити це - оновити дистрибутив. У деяких складних випадках із клієнтами у вас немає способу оновлення. А оскільки все питання розпочинається з цієї відмови: "Я дуже добре знаю, що це робити небезпечно", я вважав, що мій внесок був прийнятий. Якщо ні, я можу її видалити.
Гнусам
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.