web-dev-qa-db-fra.com

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

Tous les serveurs de clés que je visite sont arrivés à expiration. Je dois 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 tromper aptes en leur faisant croire que la signature est passée?

Je sais très bien que c'est dangereux de le faire

46
ashleysmithgpu

Passez l'option --allow-unauthenticated à apt-get comme suit:

Sudo apt-get --allow-unauthenticated upgrade

De la page de manuel de apt-get:

--allow-unauthenticated
Ignorer si les paquets ne peuvent pas être authentifiés et ne pas demander à 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 à /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 manière, vous n'avez pas besoin d'utiliser cette option à chaque fois que vous souhaitez installer un logiciel. Remarque: je ne recommande pas de définir cette option par défaut, elle contourne les contrôles de signature qui pourraient permettre à un adversaire de compromettre votre ordinateur.

67
Lekensteyn

Peut-être que vous pouvez 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"; }};
6
lebenlechzer

Si vous essayez d'obtenir un package à partir d'un référentiel dans lequel les clés sont empaquetées et incluses dans le référentiel, il peut être très ennuyeux de télécharger et d'installer le package clé/trousseau à l'aide de dpkg, et très difficile à 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 à partir d'un serveur de clés ou les télécharger à partir d'une source fiable via https, mais si vous n'avez pas d'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

J’ai initialement mis cela ensemble parce que i3 dans leur repo sur5r le fait, mais j’ai découvert que leurs clés se trouvaient dans la liste keyserver.ubuntu.com, ce qui me permettait de Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E3CA1A89941C42E6 et d’éviter tous les tracas liés aux paquets supplémentaires.

6
dragon788

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

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

Merci à php-coder commentaire .

1
Totor

J'ai rencontré le même problème avec un ancien serveur Debian. Je ne pouvais même 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 consistait à ajouter ceci:

Acquire::Check-Valid-Until false;

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

Je suppose que cela pourrait fonctionner sur Ubuntu aussi.

S'il vous plaît noter que c'est totalement dangereux.

0
Gnusam