Jak dodać klucz GPG do pliku kluczy źródeł apt?

67

Strona Doc Ubuntu mówi:

Wskazane jest dodanie klucza Opera GPG.

wget -qO - http://deb.opera.com/archive.key | sudo apt-key add -

Gdzie to dodać?

Chcę skorzystać z porady, ale nie wiem, do której części centrum oprogramowania dodać klucze gpg.

Bruce
źródło
3
Uważam, że jest to jedno wierszowe polecenie, które należy wprowadzić do terminala
Mateo
1
.msi w Ubuntu nazywa się .deb.
Alvar
4
Na marginesie, dodanie kluczy, które pobierasz za pomocą protokołu innego niż HTTPS, niszczy wszelkie zabezpieczenia dodane przez podpisywanie pakietów. W miarę możliwości klucze należy pobierać za pośrednictwem bezpiecznego kanału (https: //).

Odpowiedzi:

86

To jedno wierszowe polecenie do wprowadzenia w terminalu. Zobacz Co to jest terminal i jak go otworzyć i z niego korzystać?

Aby go użyć, wklej całą komendę do terminala (pamiętaj, aby użyć https):

wget -qO - https://deb.opera.com/archive.key | sudo apt-key add -

Ale oczywiście zniechęcanie jest po prostu kopiowaniem i wklejaniem poleceń, nie wiedząc, co robią, i nie mając instrukcji, jak cofnąć swoje działania, więc oto podstawowy podział poleceń:

  • wgetpobiera coś z serwera. Zobacz instrukcję wget dla Ubuntu 16.04 .
  • | jest potokiem, który pobiera dane wyjściowe jednego polecenia i uruchamia je na wejściu innego polecenia
  • apt-key add dodaje klucz pakietu

Więc w zasadzie pobiera klucz, a następnie dodaje go w jednym poleceniu.

Przetestowałem polecenie i powinno działać.


Teraz, aby sprawdzić, czy zadziałało, uruchom następującą komendę (z tej odpowiedzi ):

apt-key list

Spowoduje to wyświetlenie dodanych kluczy, a klucz z Opery powinien być wymieniony na dole w następujący sposób:

pub   1024D/30C18A2B 2012-10-29 [expires: 2014-10-29]
uid                  Opera Software Archive Automatic Signing Key 2013 <[email protected]>
sub   4096g/C528FCA9 2012-10-29 [expires: 2014-10-29]

Połączona odpowiedź pokazuje również, że w razie potrzeby możesz usunąć klucz, używając:

sudo apt-key del 30C18A2B

przy 30C18A2Bczym kluczem-ID z listy.


Po wykonaniu tego polecenia i skonfigurowaniu źródeł dokładnie tak, jak na zrzucie ekranu , wykonaj:

sudo apt-get update
sudo apt-get install opera

(zwróć uwagę, że istnieją losowe ostrzeżenia, ale nic nie wpływa na działanie instalacji lub centrum oprogramowania)

I do usunięcia (na wszelki wypadek): Jaki jest prawidłowy sposób całkowitego usunięcia aplikacji?


Podsumowując:

  • Dodaj repozytorium wprowadź opis zdjęcia tutaj
  • Dodaj klucz za pomocą apt-key
  • Zainstaluj w terminalu z apt-get
  • Szukaj w desce rozdzielczej wprowadź opis zdjęcia tutaj
Mateo
źródło
4
„apt-key adv” pozwala pobrać klucz z publicznego serwera kluczy.
jeremiah
Po dodaniu klucza za apt-key addpomocą pliku .key (w tym przypadku „archive.key”) można usunąć bez konsekwencji, prawda? Klucz (informacja, a nie plik) został już gdzieś dodany do listy, więc plik nie powinien być już potrzebny.
Cerran,
2
@Cerran, poprawnie. APT trzyma klucze gdzie indziej ( /etc/apt/trusted.gpg.d/i /var/lib/apt/keyrings/na przykład)
Alexis Wilke
Jeśli pojawi się błąd SSL związany z wget, możesz zamiast tego użyć curl:curl -L https://deb.opera.com/archive.key | sudo apt-key add -
rubo77
23

Jeśli ręcznie dodajesz klucz z PPA, użyj

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 00000000

Zastąpienie 00000000drugą częścią klucza poinformowaną na stronie PPA, którą chcesz dodać.

Na przykład, jeśli znajdziesz tę linię:

 4096R/7BF576066

Używaj tylko drugiej części (bez względu na jej rozmiar), która w tym przykładzie jest 7BF576066

Paulo Coghi
źródło
czy błędy są podobne gpg: keyserver receive failed: No keyserver availablei gpg: keyserver receive failed: Connection refusedpowszechne?
iuridiniz
Nie, takie błędy nie są częste. Może piszesz zły klucz.
Paulo Coghi
19

Nowsze wersje apt obsługują również:

apt-key adv --fetch-keys http://deb.opera.com/archive.key

Ta metoda zapewnia również bardziej szczegółowe informacje zwrotne, np .:

gpg: key 7BD9BF62: public key "signing key <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

Ma to również dodatkową zaletę polegającą na usunięciu potrzeby dodatkowych zależności, takich jak wget lub curl.

Andrew Odri
źródło
1
apt-key adv nie działa na https
danihodovic
5
@ dani-h gnupg-curlJeśli używasz GPG 1.x, musisz użyć HTTPS.
Tao Wang
apt-key adv --fetch-keyspobierze tylko jeden klucz z adresu URL, a jeśli adres URL zawiera wiele kluczy, użyj wget | apt-key addzamiast niego.
Tao Wang
Wygląda na to, że współpracuje już z https (właśnie przetestowany na Ubuntu 17.10)
user1182474
0

Innym sposobem, w którym masz tylko klucz .asc, możesz pobrać klucz .asc i dodać go do breloka.

Na przykład -

curl -L https://packages.riot.im/debian/repo-key.asc | sudo apt-key add -
shirish
źródło