Como adicionar uma chave GPG ao chaveiro do apt sources?

67

A página do Ubuntu Doc diz o seguinte:

É aconselhável que você adicione a chave Opera GPG.

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

Onde eu adiciono isso?

Quero seguir o conselho, mas não sei em que parte do software center adicionar chaves gpg.

Bruce
fonte
3
Eu acredito que é uma linha de comando para entrar no terminal
Mateo
11
.msi no Ubuntu é chamado .deb.
Alvar 5/05
4
Como observação lateral, a adição de chaves que você busca por não-HTTPS quebra qualquer segurança adicionada pelos pacotes de assinatura. Sempre que possível, você deve baixar as chaves em um canal seguro (https: //).

Respostas:

86

Este é um comando de uma linha para entrar no terminal. Consulte O que é um terminal e como eu o abro e uso?

Para usá-lo, você deve colar o comando inteiro no terminal (lembre-se de usar https):

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

Mas é claro, é assustador apenas copiar e colar comandos sem saber o que eles estão fazendo e sem ter instruções sobre como desfazer suas ações, então aqui está uma análise básica dos comandos:

  • wgetbaixa algo de um servidor. Veja o manual do wget para o Ubuntu 16.04 .
  • | é um pipline, que pega a saída de um comando e a executa na entrada de outro
  • apt-key add adiciona uma chave de pacote

Então ele basicamente baixa a chave e a adiciona em um comando.

Eu testei o comando e ele deve funcionar.


Agora, para verificar se funcionou, execute este comando (a partir desta resposta ):

apt-key list

Isso listará as chaves adicionadas e a chave do Opera deve ser listada na parte inferior da seguinte maneira:

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]

A resposta vinculada também mostra que você pode remover a chave, se necessário, usando:

sudo apt-key del 30C18A2B

com 30C18A2Bsendo o ID da chave da lista.


Depois de executar esse comando e configurar as fontes exatamente como na captura de tela , faça:

sudo apt-get update
sudo apt-get install opera

(observe que existem alguns avisos aleatórios, mas nada que afeta as operações de instalação ou do centro de software)

E para a remoção (apenas no caso): Qual é a maneira correta de remover completamente um aplicativo?


Então, em resumo:

  • Adicionar repositório insira a descrição da imagem aqui
  • Adicione chave com apt-key
  • Instale no terminal com apt-get
  • Pesquisar no traço insira a descrição da imagem aqui
Mateo
fonte
4
"apt-key adv" permite baixar a chave de um servidor de chaves público.
Jeremiah
Após adicionar a chave apt-key add, o arquivo .key (neste caso, "archive.key") pode ser excluído sem conseqüências, certo? A chave (as informações, não o arquivo) já foi adicionada a uma lista em algum lugar, portanto, o arquivo não deve mais ser necessário.
Cerran
2
@ Cerran, correto. O APT mantém as chaves em outro lugar ( /etc/apt/trusted.gpg.d/e /var/lib/apt/keyrings/por exemplo.)
Alexis Wilke
Se você receber um erro SSL com o wget, poderá usar o curl:curl -L https://deb.opera.com/archive.key | sudo apt-key add -
rubo77
24

Se você estiver adicionando manualmente uma chave de um PPA, use

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

Substitua pela 00000000segunda parte da chave informada no site do PPA que você deseja adicionar.

Por exemplo, se você encontrar esta linha:

 4096R/7BF576066

Use apenas a segunda parte (não importa seu tamanho), que neste exemplo é 7BF576066

Paulo Coghi
fonte
são erros semelhantes gpg: keyserver receive failed: No keyserver availablee gpg: keyserver receive failed: Connection refusedcomuns?
Iuridiniz 31/12/19
Não, erros como esses não são comuns. Talvez você esteja escrevendo a chave errada.
Paulo Coghi 01/01
20

As versões mais recentes do apt também suportam o seguinte:

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

Este método também fornece feedback mais detalhado, por exemplo:

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

Isso também tem o bônus adicional de remover a necessidade de dependências adicionais, como wget ou curl.

Andrew Odri
fonte
11
-chave apt adv não parecem trabalhar para https
danihodovic
5
@ dani-h Você precisa gnupg-curlusar HTTPS se estiver usando o GPG 1.x.
Tao Wang
apt-key adv --fetch-keysbuscará apenas uma chave do URL e, se o URL contiver várias chaves, use-o wget | apt-key add.
Tao Wang
Parece que funciona já com https (apenas testados no Ubuntu 17.10)
user1182474
0

Outra maneira em que você apenas tem uma chave .asc, baixa a chave .asc e a adiciona ao chaveiro.

Por exemplo -

curl -L https://packages.riot.im/debian/repo-key.asc | sudo apt-key add -
shirish
fonte