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?
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.
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"; }};
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.
Créez /etc/apt/apt.conf.d/99allow_unauth
avec ce contenu:
APT { Get { AllowUnauthenticated "1"; }; };
Merci à php-coder commentaire .
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.