94 votes

GPG n'a pas assez d'entropie

J'ai fait tourner une tonne de processus en arrière-plan pour essayer d'obtenir suffisamment d'entropie, mais je n'y arrive toujours pas.

**We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
Not enough random bytes available.  Please do some other work to give
the OS a chance to collect more entropy! (Need 210 more bytes)**

J'ai besoin d'une méthode pour générer la clé qui fonctionne, car ce que j'essaie de faire échoue apparemment.

123voto

Tim Points 29

Avez-vous jeté un coup d'œil à RNG ?

Types Fedora/Rh/Centos : sudo yum install rng-tools

Sur les types de débit : sudo apt-get install rng-tools pour le mettre en place.

Ensuite, exécutez sudo rngd -r /dev/urandom avant de générer les clés.

Référence : http://it.toolbox.com/blogs/lim/how-to-generate-enough-entropy-for-gpg-key-generation-process-on-fedora-linux-38022

29voto

Mike Lowen Points 662

J'ai pu générer la clé en

apt-get install rng-tools

Dans une autre fenêtre SSH, ouvrez

 gpg --gen-key

Retournez à votre première session SSH et exécutez

sudo rngd -r /dev/urandom

Laissez tourner jusqu'à ce que gpg génère vos clés !

14voto

Julien Vehent Points 2907

Pour vérifier la quantité d'octets d'entropie actuellement disponible, utilisez

cat /proc/sys/kernel/random/entropy_avail

Le seau d'entropie a une taille de 4096 octets, ce qui peut très vite être épuisé.

En utilisant ce petit outil de "vitesse de lecture" ( http://1wt.eu/tools/readspeed/ ), vous pouvez mesurer la vitesse à laquelle le seau d'entropie se remplit avec différentes méthodes.

Par exemple, lancer :

$ ./readspeed < /dev/random

et déplacez votre souris. Vous verrez que "readspeed" vide le seau d'entropie dès qu'il est rempli, et que lorsque vous déplacez la souris, il se remplit un peu.

En essayant différentes méthodes, il semble que la saisie au clavier et les mouvements de la souris soient les plus efficaces pour remplir ce réservoir. Les transferts réseau et les copies de disque dur n'ont pas beaucoup d'influence.

Enfin, il existe des dispositifs de génération d'entropie, comme celui-ci : http://www.entropykey.co.uk/ .

10voto

Raj Points 101

+1 pour rng-tools

Si vous êtes dans la même situation que moi, c'est-à-dire que vous n'avez pas la permission d'installer un nouveau logiciel (rng-tools) sur un serveur sans tête et sans matériel d'entrée (carte son, clavier, souris). Vous pouvez exécuter ce code simple depuis un autre terminal connecté au même serveur, pour ajouter à l'entropie. Il n'est pas important que vous exécutiez ce code avant ou après le démarrage du serveur. gpg --gen-key

$ nice -n 19 bash
$ until [ $COUNT -lt 1 ]; do
  let COUNT=`cat /proc/sys/kernel/random/entropy_avail`
  echo "`date` COUNTER $COUNT"
done

La première ligne consiste à démarrer un nouveau bash Shell, avec une priorité moindre (j'avais besoin d'être gentil sur un serveur partagé par de nombreux utilisateurs). La boucle until est infinie, donc pensez à la casser une fois que la clé est générée. Tout ce qu'elle fait est de provoquer le trafic réseau pour augmenter l'entropie. Il surveille aussi le compteur entropy_avail pour montrer comment il est rempli et vidé de l'autre côté par gpg. Dans mon cas, le compteur s'est rempli rapidement jusqu'à 64 et s'est vidé à nouveau à 0 (je suppose que gpg récupère par tranche de 64). J'ai attendu la génération de la clé de 4096 bits pendant plus de 3 heures sur le serveur. Après avoir commencé à exécuter ce Shell, il a été terminé en moins de 5 min.

7voto

i alarmed alien Points 1192

J'étais obligé et déterminé à générer de l'entropie sur mon serveur Ubuntu 14.04 sans tête afin de générer une clé de 4096 avec gpg --gen-key

Il existe un paquet pour générer de l'entropie appelé haveged. Exemple d'installation :

sudo apt-get install haveged

Je devais sudo apt-get install rng-tools puisqu'il s'agit d'une dépendance dans le test suivant.

Exemple d'un test permettant de vérifier si l'entropie est générée par l'avoir :

cat /dev/random | rngtest -c 1000

Un très petit nombre d'échecs est acceptable dans tout générateur de nombres aléatoires. aléatoire, mais vous pouvez vous attendre à voir 998-1000 succès très souvent lorsque vous utilisez le survol.

Je l'ai découvert dans un tutoriel ici :

https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-haveged

J'ai maintenant des clés après avoir exécuté gpg --gen-key

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