Jak ominąć / zignorować kontrole podpisów gpg apt?

47

Upłynął limit czasu wszystkich kluczowych serwerów, które odwiedzam. Muszę zainstalować pakiety bez sprawdzania podpisów kluczy publicznych. Czy istnieje sposób na ominięcie wszystkich kontroli podpisu / zignorowanie wszystkich błędów podpisu lub oszukiwanie, że podpis został przekazany?

Doskonale zdaję sobie z tego sprawę

ashleysmithgpu
źródło
1
Zwykle klucz instaluje się lokalnie w tym samym czasie, gdy dodajesz repozytorium, więc dlaczego potrzebujesz dostępu do serwerów kluczy?
JanC

Odpowiedzi:

68

Przekaż --allow-unauthenticatedopcję apt-getjak w:

sudo apt-get --allow-unauthenticated upgrade

Ze strony podręcznika apt-get:

--allow-nieuwierzytelniony
Zignoruj, jeśli pakiety nie mogą zostać uwierzytelnione i nie pytaj o to. Jest to przydatne w przypadku narzędzi takich jak pbuilder. Element konfiguracji: APT :: Get :: AllowUnauthenticated.

Możesz ustawić to ustawienie na stałe, używając własnego pliku konfiguracyjnego z /etc/apt/apt.conf.d/reż. Nazwa pliku może być 99myowni może zawierać następujący wiersz:

APT::Get::AllowUnauthenticated "true";

W ten sposób nie musisz używać tej opcji za każdym razem, gdy chcesz zainstalować oprogramowanie. Uwaga: Nie zalecamy domyślnego ustawiania tej opcji, ponieważ pomija ona sprawdzanie podpisów, które może pozwolić przeciwnikowi na złamanie zabezpieczeń komputera.

Lekensteyn
źródło
4
Dla informacji: Działa z apt-getzwykłym aptpoleceniem, ale nie z nim .
Tor Klingberg,
2
Ubuntu 16.0 LTS. To nie działa / nie ma na nic wpływu
wvxvw
7

Jeśli próbujesz pobrać pakiet z repozytorium, w którym spakowano klucze i dołączyć je do repozytorium, i nie ma go gdzie indziej, pobranie i zainstalowanie pakietu kluczy / kluczy przy użyciu programu dpkg może być bardzo denerwujące i bardzo trudne. w łatwy do pisania i powtarzalny sposób.

Poniższy skrypt nie jest zalecany, jeśli możesz zainstalować klucze z serwera kluczy lub pobrać je z zaufanego źródła przez https, ale jeśli nie masz ŻADNEGO innego sposobu, możesz tego użyć.

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

Złożyłem to razem, ponieważ i3 w repozytorium sur5r to robi, ale potem dowiedziałem się, że ich klucze znajdują się na liście keyserver.ubuntu.com, więc mogę po prostu sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E3CA1A89941C42E6uniknąć wszelkich dodatkowych problemów związanych z pakietem.

dragon788
źródło
Przybyłem tutaj z powodu problemu z i3 - sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E3CA1A89941C42E6rozwiązaliśmy go! Wielkie dzięki!
Benedikt Köppel
6

Być może możesz spróbować utworzyć plik /etc/apt/apt.conf (zostanie on przeczytany, jeśli go utworzysz) i wstawić ten kod:

APT{Ignore {"gpg-pubkey"; }};
lebenlechzer
źródło
5
To nie działa dla mnie. Ale działa, gdy dodałemAPT { Get { AllowUnauthenticated "1"; }; };
koder php
ubuntu 16.0 LTS: nie ma wpływu na to, co robi apt-get.
wvxvw
1

Utwórz za /etc/apt/apt.conf.d/99allow_unauthpomocą tej zawartości:

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

Dzięki PHP-Koder „s komentarz .

Totor
źródło
0

Miałem ten sam problem ze starym serwerem Debian. Nie mogłem zrobić

apt-get update

co dało mi następujący błąd:

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

Wreszcie rozwiązaniem było dodanie tego:

Acquire::Check-Valid-Until false;

do /etc/apt/apt.conf (utwórz go, jeśli nie istnieje). Następnie błąd stał się prostym ostrzeżeniem.

Myślę, że to może działać również na Ubuntu.

Pamiętaj, że jest to całkowicie niebezpieczne.

Gnusam
źródło
Jeśli jest to niebezpieczne, sugeruję, aby w ogóle tego nie publikować.
Yufenyuy Veyeh Dider
Bezpiecznym sposobem na to jest uaktualnienie dystrybucji. W niektórych skomplikowanych przypadkach klientów nie ma możliwości uaktualnienia. A ponieważ całe pytanie zaczęło się od zrzeczenia się odpowiedzialności: „Jestem w pełni świadomy, że jest to niebezpieczne”, pomyślałem, że mój wkład został zawłaszczony. Jeśli nie, mogę to usunąć.
Gnusam