gpg --gen-key trava para ganhar entropia suficiente em centos 6

34

Tentando gerar uma chave para um servidor.

gpg --gen-key

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.

e apenas fica pendurado.

Existe outro erro:

can't connect to '/root/.gnupg/S.gpg-agent': No such file or directory

que parece desaparecer depois:

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
...

mas novamente, ele fica em "... ganhe entropia suficiente".

Não há "++++++++++++++++++++++++++++++++++++++++++" É de se esperar que os posts dos fóruns sejam esperados enquanto a chave é gerada.

Eu tentei reinstalar o pacote, mas aparentemente tudo depende do gpg.

Eu li outras pessoas tendo problemas com isso no centos 6 também (enquanto o centos 5 funciona bem).

Não há nada de notável em /var/log/* .

Alguma idéia de onde ir a partir daqui?

Obrigado.

    
por stormdrain 22.01.2013 / 16:36

7 respostas

36

Quando o comando gpg --gen-key trava assim, efetue login em outro shell e execute o seguinte comando:

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

(Este comando basicamente lê a partir do seu disco rígido e descarta a saída, porque escrever para /dev/zero não fará nada.)

Após alguns segundos / minutos, o comando de geração de chaves deve ser concluído.

    
por 22.01.2013 / 16:56
14

Para uma solução mais confiável, você pode instalar utilitários relacionados ao gerador de números aleatórios, o que garantirá que você sempre tenha bytes aleatórios suficientes.

yum install rng-tools

e, em seguida, edite /etc/sysconfig/rngd e adicione EXTRAOPTIONS="-r /dev/random"

Iniciar o serviço

 service rngd start

Voila e você vive feliz para sempre:)

    
por 23.01.2013 / 05:07
6

Ambos os comentários anteriores estão perfeitamente bem. Mas aqui é apenas meus 2 centavos.

O problema com RHEL / centos 6 e entropia é que eles são kernels sem marcas. Então, por si só, esses kernels não geram entropia suficiente. Você tem que ter algum teclado conectado ou mesmo algum movimento do mouse ou usar o dd como mencionado.

O daemon rngd é incrível e a maioria das entidades comerciais o utiliza.

No entanto, a melhor abordagem que vi é o uso de dispositivos TPM dedicados. Eles são pequenos hardware que são muito caros. Você os coloca e o rngd utiliza a entropia verdadeira aleatória da fonte de hardware. Tanto quanto sei, a Fujitsu tem um bom dispositivo TPM.

Sim, esses três métodos praticamente cobrem a parte da entropia.

    
por 23.01.2013 / 18:10
3

EXTRAOPTIONS="- r / dev / urandom" funcionou para mim em vez de EXTRAOPTIONS="- r / dev / random"

    
por 10.10.2014 / 22:46
3

Torça em outras respostas, mas pelo menos um liner e não o root.

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

Key-gen-options contém

Key-Type: 1
Key-Length: 2048
Subkey-Type: 1
Subkey-Length: 2048
Name-Real: myuser
Name-Email: [email protected]
Expire-Date: 0

O output-key.txt contém minha chave super secreta.

    
por 17.01.2018 / 18:03
1

link

Abra uma sessão ssh %código% Em outra janela do SSH aberta %código% Volte para sua primeira sessão SSH e execute %código% Deixe isso funcionar até o gpg gerar suas chaves!

Então você pode matar rngd sudo apt-get install rng-tools

    
por 07.06.2018 / 16:34
0

Como eu fiz:

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

Funcionou mesmo quando $GNUPGHOME está definido para apontar para um diretório personalizado.

    
por 08.08.2017 / 13:57