Ignorar assinatura GPG verifica apenas um único repositório

34

Eu li o seguinte artigo: Como ignorar / ignorar as verificações de assinatura gpg do apt?

Ele descreve como configurar apta não verificar as assinaturas de pacotes em tudo .

No entanto, gostaria de limitar o efeito dessa configuração a um único repositório (neste caso, hospedado localmente).

Ou seja: todos os repositórios oficiais devem usar a verificação de assinatura GPG como de costume, exceto para o repo locais .

Como eu faria isso?

Na falta disso, qual seria a vantagem (em termos de segurança) de assinar os pacotes durante uma compilação automatizada (alguns meta-pacotes e alguns programas) e depois executar todas asapt prescrições seguras ? Afinal, o host com o repositório também seria aquele em que a chave secreta do GPG reside.

0xC0000022L
fonte
Na minha opinião, a assinatura automática usando uma chave on-line, embora longe do ideal, seria estritamente melhor do que não assinar. Também seria muito mais fácil de configurar (não é necessário configurar cada cliente para dispensar as verificações) e muito mais fácil fazer a transição para uma configuração melhor mais tarde, se você desejar.
Celada
@ Celada: isso é uma opinião (que é "estritamente melhor") ou existe uma justificativa para sua afirmação? Estou perguntando, porque até agora não vejo uma razão para melhorar a segurança ou qualquer outro aspecto. A única vez em que isso seria um pouco benéfico, seria se eu pretendesse publicar meu repo, afinal?
0xC0000022L
Eu mantenho essa opinião racionalmente :-) Se o repositório for assinado, pelo menos os bandidos terão que obter a chave de assinatura, que você provavelmente manterá em apenas um lugar e provavelmente em uma caixa de desenvolvimento, ou pelo menos não legível pelo Servidor HTTP. Caso contrário, não há proteção. Em outras palavras, quero apenas dizer que não há desvantagem na assinatura; portanto, você pode assinar mesmo que a vantagem seja pequena. E já que seria mais fácil de configurar, é com isso que eu iria.
Celada
@ Celada: este é um repositório apenas para uso local. Quem seria capaz de acessá-lo. Caso de uso: um host com contêineres de convidados. O host e os contêineres terão acesso. Nenhum acesso público planejado. Mas acho que vou esperar um pouco mais por uma resposta e seguir o inevitável (assinatura).
0xC0000022L
Justo, veremos se alguém sabe a resposta para sua pergunta. Não sei qual ferramenta você planeja usar para gerar o repo, mas recomendo o reprepro . Muitas outras ferramentas como dput(ou o que quer que o próprio Debian use) são muito elaboradas e parecem um grande exagero para repositórios ad hoc somente locais. repreprocuidará de gerar o repositório com todo o layout de diretório correto e arquivos de índice automaticamente, sem a necessidade de uma grande instalação de servidor de banco de dados ... e também assinará o resultado com basicamente nenhum trabalho adicional de sua parte.
Celada

Respostas:

48

Você pode definir opções no seu sources.list:

deb [trusted=yes] http://localmachine/debian wheezy main

A trustedopção é o que desativa a verificação GPG. Veja man 5 sources.listpara detalhes.

Nota: isso foi adicionado no apt 0.8.16 ~ exp3. Então está no chiado (e, claro, Jessie), mas não no aperto.

derobert
fonte
muito obrigado. Era exatamente isso que eu estava procurando. Eu confio 1.0.1ubuntu2.7que já terá esse recurso, dado o número da versão.
0xC0000022L
@ 0xC0000022L sim, deveria.
Derobert 24/04
Essa é definitivamente a melhor resposta se você precisar acessar repetidamente um repositório não assinado. Existem respostas atualizadas para a outra pergunta vinculada na pergunta original, mostrando como fazê-lo temporariamente por repositório.
precisa saber é o seguinte
11

Para garantir que você veja um aviso ao usar um repositório não seguro, use melhor allow-insecure = yes, como abaixo

deb [ allow-insecure=yes ] ...
Naresh Mehta
fonte
Interessante, obrigado pela sua resposta. Uma diferença pequena, mas importante, de fato.
0xC0000022L 08/11