73 votes

Comment contourner/ignorer les contrôles de signature gpg d'apt ?

Tous les serveurs de clés que je visite sont en train de s'arrêter. J'ai besoin d'installer des paquets sans vérifier les signatures des clés publiques. Existe-t-il un moyen de contourner toutes les vérifications de signature, d'ignorer toutes les erreurs de signature ou de faire croire à apt que la signature a été acceptée ?

Je sais très bien que c'est dangereux de faire ça.

91voto

Lekensteyn Points 162346

Passez le --allow-unauthenticated option pour apt-get comme dans :

sudo apt-get --allow-unauthenticated upgrade

De la page de manuel de apt-get :

--allow-unauthenticated
Ignorez les paquets qui ne peuvent pas être authentifiés et n'envoyez pas de message à ce sujet. Ceci est utile pour des outils comme pbuilder. Élément de configuration : APT::Get::AllowUnauthenticated.

Vous pouvez rendre ce paramètre permanent en utilisant votre propre fichier de configuration à l'adresse suivante /etc/apt/apt.conf.d/ dir. Le nom du fichier peut être 99myown et il peut contenir cette ligne :

APT::Get::AllowUnauthenticated "true";

De cette façon, vous n'avez pas besoin d'utiliser l'option chaque fois que vous voulez installer un logiciel. Remarque : je ne recommande pas de définir cette option par défaut, car elle contourne les contrôles de signature qui pourraient permettre à un adversaire de compromettre votre ordinateur.

17voto

dragon788 Points 1216

Si vous essayez d'obtenir un paquetage à partir d'un dépôt où les clés sont empaquetées et incluses dans le dépôt et nulle part ailleurs, il peut être très ennuyeux de télécharger et d'installer le paquetage de la clé/du porte-clés en utilisant dpkg, et très difficile de le faire d'une manière facilement scriptable et répétable.

Le script ci-dessous n'est pas recommandé si vous pouvez installer les clés depuis un serveur de clés ou les télécharger depuis une source de confiance via https, mais si vous n'avez aucun autre moyen, vous pouvez l'utiliser.

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

A l'origine, j'ai mis cela en place parce que i3 dans leur repo sur5r fait cela, mais ensuite j'ai découvert que leurs clés sont dans la liste de keyserver.ubuntu.com, donc je peux juste sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E3CA1A89941C42E6 et évitez tous les problèmes liés aux paquets supplémentaires.

6voto

Már Örlygsson Points 6861

Vous pouvez peut-être essayer de créer le fichier /etc/apt/apt.conf (il sera lu si vous le créez) et insérer ce code :

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

4voto

Gnusam Points 43

J'ai rencontré le même problème avec un vieux serveur debian. Je n'arrivais pas à faire un

apt-get update

ce qui m'a donné l'erreur suivante :

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

Enfin, la solution était d'ajouter ce :

Acquire::Check-Valid-Until false;

à /etc/apt/apt.conf (le créer s'il n'existe pas). Après cela, l'erreur est devenue un simple avertissement.

Je pense que ça pourrait fonctionner sur Ubuntu aussi.

Veuillez noter qu'elle est totalement dangereuse.

1voto

Totor Points 318

Créer /etc/apt/apt.conf.d/99allow_unauth avec ce contenu :

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

Merci à php-coder 's commentaire .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X