J'ai une tonne de processus en cours d'exécution pour essayer d'obtenir suffisamment d'entropie, mais j'échoue toujours.
**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.
Avez-vous regardé RNG?
Types Fedora/Rh/Centos: Sudo yum install rng-tools
Sur les types deb: Sudo apt-get install rng-tools
pour le configurer.
Exécutez ensuite Sudo rngd -r /dev/urandom
avant de générer les clés.
J'ai pu générer la clé en
apt-get install rng-tools
Dans une autre fenêtre SSH ouverte
gpg --gen-key
Revenez à votre première session SSH et exécutez
Sudo rngd -r /dev/urandom
Laissez cette course jusqu'à ce que gpg génère vos clés!
Pour vérifier le nombre d'octets d'entropie actuellement disponibles, utilisez
cat /proc/sys/kernel/random/entropy_avail
Le godet d'entropie mesure 4096 octets, ce qui peut très rapidement ê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 est rempli avec différentes méthodes.
Par exemple, lancez:
$ ./readspeed < /dev/random
et déplacez votre souris. Vous verrez que "readspeed" vide le seau d'entropie dès qu'il est rempli, et 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 reconstituer ce compartiment. Les transferts réseau et les copies de disque dur n'ont pas beaucoup d'influence.
Enfin, des dispositifs de génération d'entropie sont disponibles, comme celui-ci: http://www.entropykey.co.uk/ .
+1 pour rng-tools
Dans le cas où vous êtes coincé dans la situation comme je le suis - je n'ai pas l'autorisation d'installer de nouveaux logiciels (rng-tools) sur un serveur sans tête avec pratiquement aucun matériel d'entrée (carte son, clavier, souris) attaché. Vous pouvez exécuter ce code simple à partir d'un autre terminal connecté au même serveur, pour ajouter à l'entropie. Peu importe que vous commenciez à l'exécuter avant ou après le démarrage de 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 est de démarrer un nouveau shell bash, avec une priorité plus faible (je devais être Nice sur un serveur partagé par de nombreux utilisateurs). La boucle jusqu'à est infinie, pensez donc à la rompre une fois la clé générée. Tout ce qu'il fait, c'est que le trafic réseau augmente l'entropie. Il surveille également 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 à 64 et a été vidé à 0 (devinez que gpg reprend par tranche de 64). J'attendais la génération de clés 4096 bits depuis plus de 3 heures sur le serveur. Après avoir commencé à exécuter ce script, il a été terminé en moins de 5 minutes.
J'étais lié et déterminé à générer l'entropie sur mon serveur sans tête Ubuntu 14.04 afin de générer une clé 4096 avec gpg --gen-key
Il existe un package pour générer l'entropie appelé haveged. Exemple d'installation:
Sudo apt-get install haveged
J'ai dû Sudo apt-get install rng-tools
car il s'agit d'une dépendance dans le test suivant.
Exemple de test pour voir si l'entropie est générée par haveged:
cat /dev/random | rngtest -c 1000
Un très petit nombre d'échecs est acceptable dans tout générateur de nombres aléatoires, mais vous pouvez vous attendre à voir 998-1000 succès très souvent lors de l'utilisation en survol.
Je l'ai découvert dans un tutoriel ici:
J'ai maintenant des clés après avoir exécuté gpg --gen-key
haveged
est le meilleur moyen, mais si vous ne pouvez rien installer, vous pouvez générer manuellement l'entropie. Cette méthode a permis à gpg --gen-ken
pour terminer en 1 à 2 minutes sur ma machine (par rapport à 10 secondes avec haveged
). C'est donc environ 10 fois plus lent.
Exécutez ceci dans un autre terminal pendant que gpg --gen-key
est en cours d'exécution:
while true; do
# print entropy available
cat /proc/sys/kernel/random/entropy_avail
# write a 1 MB stream of zeros to /tmp/foo
# "conv=fdatasync" flushes the disk cache
dd bs=1M count=1 if=/dev/zero of=/tmp/foo conv=fdatasync
done
Bon mot:
while true; do cat /proc/sys/kernel/random/entropy_avail; dd bs=1M count=1 if=/dev/zero of=/tmp/foo conv=fdatasync; done
Eh bien, c'est plus facile que je ne le pensais, par rapport aux solutions présentées ici:
ls -R /
Les octets aléatoires fournis par la commande ci-dessus étaient suffisants pour fournir l'entropie requise pour générer une paire de clés RSA/4096.
Extrait de: https://www.thingy-ma-jig.co.uk/blog/22-01-2010/generate -entropy-gnupg
J'ai rencontré ce problème lors de l'exécution de pacman-key --init
dans Arch. Les autres solutions ici ne fonctionnaient pas bien pour moi, mais j'ai trouvé que le simple ping sur mon routeur fonctionnait bien: ping -f ip.of.my.router