gpg --gen-key s'accroche pour gagner assez d'entropie sur centos 6


49

Essayer 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 une autre action (taper sur le clavier, déplacer la souris, utiliser les disques) pendant la génération principale; cela donne au générateur de nombres aléatoires une meilleure chance de gagner assez d'entropie.

et il est juste là.

Il y a une autre erreur:

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

qui semble partir après:

gpg-agent --daemon
GPG_AGENT_INFO = / tmp / gpg-4c5hyT / S.gpg-agent: 1397: 1; exporter 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 se bloque à "... gagner assez d'entropie".

Il n'y a pas de "+++++++++++++++++++++++++++++++++++++++++++" à partir des messages du forum semble devrait être prévu que la clé est générée.

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

J'ai aussi lu d'autres lecteurs sur centos 6 (alors que centos 5 fonctionne bien).

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

Des idées sur où aller d'ici?

Merci.


rng-tools n’est une solution que si vous avez un HSM, les réponses qui le recommandent échoueront sur les systèmes sans cela. Vous verrez un message du type suivant: Démarrage du démon de rassembleur d'entropie RNG matériel: (Inode du périphérique RNG matériel introuvable)
JohnErinthen

Réponses:


49

Lorsque la gpg --gen-keycommande 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 essentiellement sur votre disque dur et rejette la sortie, car écrire dans /dev/zerone fera rien.)

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


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

2
Ce serait une bien meilleure idée de saisir une entropie différente à chaque fois. Si votre système manque constamment d'entropie, il y a un problème majeur avec votre configuration ou vous utilisez l'entropie très rapidement (au point où vous devriez avoir un RNG matériel). Si vous avez besoin de plus d'entropie régulièrement, il existe des emplacements valides pour tout simplement en télécharger d'autres, comme le Quantum RNG de Humboldt-Universität .
Chris S

19
J'ai effectivement essayé cela, mais comme je n'avais pas de racine, je ne pouvais pas accéder directement à / dev / sda. Ce qui a fonctionné pour moi à la place a étéfind / | xargs file
carl.anderson

2
J'étais plus à l' aise en cours d' exécution au find / | xargs filelieu de dd if=/dev/sda of=/dev/zeroet après une minute , il a été fait. Merci!
Lea

1
Tu veux dire of=/dev/null?
maxschlepzig

22

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

yum install rng-tools

puis éditer /etc/sysconfig/rngdet ajouterEXTRAOPTIONS="-r /dev/random"

Démarrer le service

 service rngd start

Voilà et vous vivez heureux pour toujours :)


5
Si vous ne souhaitez pas démarrer le service, vous pouvez simplement l'exécuter en rngd -r /dev/randomtant que root une fois rng-toolsinstallé. Votre génération de clé va décoller immédiatement.
davidjb

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

7

Les deux commentaires donnés avant sont parfaitement bien. Mais voici juste mes 2 cents.

Le problème avec RHEL / centos 6 et l’entropie est qu’il s’agit de noyaux sans tache. Donc, à eux seuls, ces noyaux ne génèrent pas assez d'entropie. Vous devez avoir un clavier connecté ou même un mouvement de 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 consiste à utiliser un périphérique TPM dédié. Ce sont de petits matériels assez chers. Vous les mettez et rngd utilise une entropie vraie aléatoire à partir de la source matérielle. Pour autant que je sache, Fujitsu possède un bon périphérique TPM.

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


Très intéressant. Je vous remercie. Comme je l'ai mentionné à Chris, j'aurai bientôt accès à un HSM qui vient avec un GNR.
stormdrain

4

Twist sur d'autres réponses, mais au moins une doublure et non 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.



3

EXTRAOPTIONS = "- r / dev / urandom" a fonctionné pour moi au lieu de EXTRAOPTIONS = "- r / dev / random"


1

Comment je l'ai fait:

  1. pacman -S community/rng-tools
  2. vim /etc/conf.d/rngd ajouter RNGD_OPTS="-r /dev/urandom"
  3. systemctl enable --now rngd
  4. gpg-agent --daemon
  5. gpg --full-gen-key

Travaillé même quand $GNUPGHOMEest défini pour pointer vers un répertoire personnalisé.


1

J'ai essayé toutes les solutions et j'ai constaté que cela havegedfonctionnait le mieux, même lorsque d'autres solutions ne fonctionnaient pas (en particulier sur un serveur sans tête qui n'a pas beaucoup de saisie ou d'activité de la part de l'utilisateur).

yum install haveged

apt install haveged

Il démarre le havegedservice démon qui va rester /dev/randomplein d'entropie. --key-gendevrait se terminer en moins d’une minute.

Vous pouvez vérifier en exécutant cat /dev/random. Normalement, il va rapidement manquer d’entropie et faire une pause. C'est pourquoi les --key-genpendants. Mais après l'installation haveged, cat /dev/randomdevrait fournir une sortie en continu.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.