web-dev-qa-db-fra.com

MongoDB GPG - Signatures non valides

J'installe MongoDB sur une machine Ubuntu 14.04 en suivant les instructions fournies à: https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

Alors je cours:

Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

Puis:

echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | Sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

Suivi par:

Sudo apt-get update

J'obtiens ensuite l'avertissement suivant à la fin de la mise à jour:

W: erreur GPG: http://repo.mongodb.org trusty/mongodb-org/3.2 Publication: Les signatures suivantes étaient invalides: BADSIG D68FA50FEA312927 Clé de signature de publication de MongoDB 3.2

Si j'ignore l'avertissement et essaie de courir:

Sudo apt-get install -y mongodb-org

Je reçois:

AVERTISSEMENT: Les packages suivants ne peuvent pas être authentifiés!
mongodb-org-shell mongodb-org-serveur mongodb-org-mongos mongodb-org-tools mongodb-org E: Il y a des problèmes et -y a été utilisé sans --force-yes

Des idées sur la façon de résoudre? Merci!

85
Assaf Hershko

Mettez à jour toutes les clés expirées du serveur de clés Ubuntu en une seule commande:

Sudo apt-key list | \
 grep "expired: " | \
 sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | \
 xargs -n1 Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys

Explication de la commande:

  1. Sudo apt-key list - répertorie toutes les clés installées dans le système;
  2. grep "expired: " - ne laisse que des lignes avec des clés expirées;
  3. sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' - extrait les clés;
  4. xargs -n1 Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys - met à jour les clés du serveur de clés Ubuntu par celles trouvées expirées.

Source

263
dlopatin

On dirait que vous devez refaire les étapes d'installation pour MongoDB. Tout d’abord, supprimez tout fichier de référentiel existant pour MongoDB. Faites comme ci-dessous.

$ Sudo rm /etc/apt/sources.list.d/mongodb*.list

Ensuite, ajoutez la clé: (sans la clé, le référentiel ne sera pas chargé).

$ Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

Créez maintenant un nouveau fichier de liste de référentiels MongoDB:

$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | Sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

Après avoir ajouté les détails du référentiel, nous devons mettre à jour la liste des packages.

$ Sudo apt-get update

Maintenant, installez MongoDB.

Sudo apt install mongodb-org

J'espère que cela t'aides !

41
PyDevSRS

Vous n'avez pas besoin de réinstaller les paquets mongo, mais changez simplement la clé comme suit:

Répertoriez les clés pour confirmer son expiration:

apt-key list | grep "expired:"

Remplacez la clé:

Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xd68fa50fea312927

Le nombre 0xd68fa50fea312927 est l'ID de clé valide actuel (expire le 2019-10-09), comme vous pouvez le vérifier ici .

14
Juliano ENS

Il semble que la version 3.2.1 soit sortie le 11/Jan/2016 et que la signature des paquets est mauvaise depuis ce moment. Les colis étaient bien signés la veille.

refs: https://jira.mongodb.org/browse/SERVER/fixforversion/15908/?selectedTab=com.atlassian.jira.jira-projects-plugin:version-summary-panel

Vous pouvez soit ajouter l'option --force-yes, soit attendre quelques heures que l'équipe de mongodb voit et corrige le problème.

Il y a déjà un billet là-bas: https://jira.mongodb.org/browse/SERVER-22144

8
themr0c

J'ai également rencontré ce problème lors de l'installation de MongoDB 3.2 sur mon Ubuntu 16.04 à l'aide des commandes ci-dessous. La solution ci-dessous est fournie en tant que question liée à l'installation de MongoDB en version 3.2.

Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.2 multiverse" | Sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Sudo apt-get update

Après avoir exécuté la commande de mise à jour ci-dessus, j'ai trouvé les avertissements suivants

W: GPG error: http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release: The following signatures were invalid: KEYEXPIRED 1507497109
W: The repository 'http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.

En poursuivant vos recherches en utilisant la commande ci-dessous pour lister toutes les clés

Sudo apt-key list

Cela montre que la clé actuelle a expiré le 2017-10-08

pub   4096R/EA312927 2015-10-09 [expired: 2017-10-08]
uid                  MongoDB 3.2 Release Signing Key <[email protected]>

Cela était également logique étant donné que la version stable actuelle de MongoDB est maintenant (3.4.9).

Pour résoudre le problème en premier, nous effectuons un petit nettoyage (facultatif)

  1. on enlève l'ancienne clé ajoutée

    Sudo apt-key list // Liste toutes les clés

    Sudo apt-key del EA312927 // Trouver l'identifiant de la clé à supprimer

    liste apt-key | grep Mongodb // Vérifie s'il est supprimé

  2. Maintenant, nous supprimons le dépôt MongoDB ajouté dans /etc/apt/sources.list.d

    Sudo rm /etc/apt/sources.list.d/mongodb*.list

  3. Maintenant, nous installons la dernière version stable de MongoDB (3.4.9) en utilisant les commandes ci-dessous.

Importer la clé publique utilisée par le gestionnaire de paquets Ubuntu

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

Créer une liste de fichiers pour que mongoDB récupère le référentiel actuel

echo "deb [ Arch=AMD64,arm64 ] http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.4 multiverse" | Sudo tee /etc/apt/sources.list.d/mongodb-3.4.list

Installer MongoDB

Sudo apt-get update
Sudo apt-get install mongodb-org
5
nshah143

J'ai eu le même problème et je l'ai résolu en installant mongodb avec la méthode tarball. Reportez-vous au lien ci-dessous pour plus de détails.

https://docs.mongodb.org/manual/tutorial/install-mongodb-on-linux/

Ajout de détails ci-dessous

  1. curl -O https://fastdl.mongodb.org/linux/mongodb-linux-i686-3.2.0.tgz
  2. tar -zxvf mongodb-linux-i686-3.2.0.0.tgz
  3. mkdir -p mongodb && cp -R -n mongodb-linux-i686-3.2.0/mongodb
  4. export PATH =/bin: $ PATH

  5. puis lancez mongod (le chemin de la base de données doit éventuellement être défini)

3

J'ai également rencontré ce problème lors de l'installation de MongoDB 4.0 sur Ubuntu 16.04. Alors j'ai fait.

  1. Sudo rm /etc/apt/sources.list.d/mongodb*.list - supprime tout fichier existant pour MongoDB

  2. Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E52529D4 - ajoute la clé

  3. Sudo bash -c 'echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" > /etc/apt/sources.list.d/mongodb-org-4.0.list' - crée un nouveau fichier de liste de référentiels MongoDB

Maintenant, terminez l'installation avec une mise à jour des référentiels puis installez MongoDB, activez le service mongod et démarrez-le, et enfin, vérifiez votre version de MongoDB:

Sudo apt update
Sudo apt install mongodb-org

systemctl enable mongod.service
systemctl start mongod.service

mongo --version
2

J'ai eu le même problème, alors j'ai:

root@skarabi:~# apt remove mongodb-org

Ensuite:

root@skarabi:~# Sudo rm /etc/apt/sources.list.d/mongodb*.list

Après :

root@skarabi:~# apt update

1
Zineb SKARABI

En fait, ce qui suit est très important pour résoudre le problème

$ Sudo rm /etc/apt/sources.list.d/mongodb*.list
0
Raymond