70 votes

gpg --gen-key ne parvient pas à gagner suffisamment d'entropie sur centos 6

J'essaie de générer une clé pour un serveur.

gpg --gen-key

Nous devons générer beaucoup d'octets aléatoires. C'est une bonne idée d'effectuer d'effectuer une autre action (taper sur le clavier, déplacer la souris, utiliser les disques) pendant la génération des nombres premiers. aléatoire une meilleure chance de gagner suffisamment d'entropie.

et ça ne bouge pas.

Il y a une autre erreur :

Impossible de se connecter à `/root/.gnupg/S.gpg-agent' : Aucun fichier ou répertoire de ce type

qui semble disparaître après :

gpg-agent --daemon
GPG_AGENT_INFO=/tmp/gpg-4c5hyT/S.gpg-agent:1397:1 ; export GPG_AGENT_INFO ;

#GPG_AGENT_INFO=/tmp/gpg-4c5hyT/S.gpg-agent:1397:1; export GPG_AGENT_INFO;
gpg --gen-key
...

mais encore une fois, il s'arrête à "...gagner suffisamment d'entropie".

Il n'y a pas de "++++++++++++++++++++++++++++++++++++++++++", ce qui, d'après les messages du forum, devrait être attendu lors de la génération de la clé.

J'ai essayé de réinstaller le paquet, mais apparemment tout dépend de gpg.

J'ai lu que d'autres personnes avaient des problèmes avec cela sur centos 6 également (alors que centos 5 fonctionne bien).

Il n'y a rien de remarquable dans /var/log/* .

Des idées sur la façon de procéder ?

Gracias.

0 votes

Rng-tools n'est une solution que si vous avez un HSM, les réponses qui le recommandent échoueront sur les systèmes qui en sont dépourvus. Vous verrez un message comme : Starting Hardware RNG entropy gatherer daemon : (Hardware RNG device inode not found)

72voto

KOTJMF Points 623

Lorsque le gpg --gen-key Si la commande se bloque comme ceci, connectez-vous à un autre Shell et exécutez la commande suivante :

dd if=/dev/sda of=/dev/zero

(Cette commande lit sur votre disque dur et jette la sortie, car l'écriture sur /dev/zero ne fera rien).

Après quelques secondes / minutes, la commande de génération de clé devrait se terminer.

2 votes

Génial. Je vous remercie. Je ne peux pas croire que j'ai manqué cette partie du manuel :/

2 votes

Il serait beaucoup plus judicieux d'utiliser une entropie différente à chaque fois. Si votre système est constamment à court d'entropie, c'est que quelque chose ne va pas dans votre configuration ou que vous consommez de l'entropie très rapidement (au point que vous devriez avoir un RNG matériel). Si vous avez régulièrement besoin de plus d'entropie, il existe des endroits où vous pouvez simplement en télécharger, comme par exemple Le RNG quantique de la Humboldt-Universität .

0 votes

J'ai essayé cd / && find . -type f dans une autre console, mais rien n'y fait.

26voto

golja Points 1591

Pour une solution plus fiable, vous pouvez installer des utilitaires liés à un générateur de nombres aléatoires, qui vous permettront d'avoir toujours suffisamment d'octets aléatoires.

yum install rng-tools

et ensuite modifier /etc/sysconfig/rngd et ajouter EXTRAOPTIONS="-r /dev/random"

Démarrer le service

 service rngd start

Voila et vous vivez heureux pour toujours :)

7 votes

Si vous ne souhaitez pas démarrer le service, vous pouvez simplement exécuter la commande suivante rngd -r /dev/random en tant que racine une fois rng-tools est installé. Votre génération de clés décollera immédiatement.

2 votes

Mais cela ne génère pas d'entropie.

12voto

rhinoceros.xn Points 251

https://gist.github.com/franciscocpg/1575d286548034113884c3185ca88681

Ouvrir une session ssh sudo 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 !

Alors vous pouvez tuer rngd sudo kill -9 $(pidof rngd)

1 votes

IMO - solution rapide :)

11voto

Soham Chakraborty Points 3504

Les deux commentaires donnés précédemment sont tout à fait corrects. Mais voici juste mes deux centimes.

Le problème avec RHEL/centos 6 et entropy est que ce sont des noyaux sans chat. Donc, par eux-mêmes, ces noyaux ne génèrent pas assez d'entropie. Vous devez faire appel à un clavier, voire à une souris, ou utiliser dd comme indiqué.

Le démon rngd est génial et la plupart des entités commerciales l'utilisent.

Cependant, la meilleure approche que j'ai vue est l'utilisation d'un dispositif TPM dédié. Il s'agit de petits matériels qui sont assez chers. Vous les mettez et rngd utilise l'entropie vraie aléatoire de la source matérielle. Pour autant que je sache, Fujitsu a quelques bons dispositifs TPM.

Oui, ces trois méthodes couvrent à peu près la partie entropie.

0 votes

Très intéressant. Je vous remercie. Comme je l'ai dit à Chris, j'aurai bientôt accès à un HSM équipé d'un RNG.

8voto

Alok Swain Points 2240

Tourner sur d'autres réponses, mais au moins une réplique et pas une racine.

((find / | xargs file) &> /dev/null &); gpg2 --gen-key --batch --passphrase-file output-key.txt key-gen-options.txt

Key-gen-options contient

Key-Type: 1
Key-Length: 2048
Subkey-Type: 1
Subkey-Length: 2048
Name-Real: myuser
Name-Email: myuser@email.com
Expire-Date: 0

Output-key.txt contient ma clé super secrète.

0 votes

Cela a fonctionné pour moi en tant qu'utilisateur non root sur la machine où j'ai eu le problème.

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