GPG没有足够的熵

我在后台运行了大量的进程来尝试获得足够的熵,但是我仍然失败。

**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)** 

我需要一个方法来生成可行的密钥,导致我正在尝试做的是显然失败。

你有没有看过RNG?

Fedora / Rh / Centostypes: sudo yum install rng-tools

在debtypes上: sudo apt-get install rng-tools来设置它。

然后在生成密钥之前运行sudo rngd -r /dev/urandom

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

我能够通过生成密钥

 apt-get install rng-tools 

在另一个SSH窗口中打开

  gpg --gen-key 

回到你的第一个SSH会话并运行

 sudo rngd -r /dev/urandom 

让这个运行,直到gpg产生你的密钥!

要检查当前可用的熵的字节数量,请使用

 cat /proc/sys/kernel/random/entropy_avail 

熵桶大小为4096字节,可以很快耗尽。

使用这个小的“读速”工具( http://1wt.eu/tools/readspeed/ ),您可以测量熵桶以多种方法填充的速度。

例如,启动:

 $ ./readspeed < /dev/random 

并移动鼠标。 你将会看到,当它被填满时,“读速”清空熵桶,当你移动鼠标时,它会填满一点。

尝试不同的方法,似乎键盘input和鼠标移动是最有效的补充水桶。 networking传输和硬盘拷贝没有太大的影响。

最后,还有熵生成设备,比如这个: http : //www.entropykey.co.uk/ 。

+1为rng工具

如果您遇到困难,无法在无服务器上安装新软件(rng工具),而且几乎不需要连接任何input硬件(声卡,键盘,鼠标)。 你可以运行这个简单的代码,从另一个terminal连接到同一个服务器,添加到熵。 如果您在启动gpg --gen-key之前或之后开始运行,这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 

第一行是启动一个新的bash shell,优先级较低(我需要在很多用户共享的服务器上很好)。 直到循环是无限的,所以记住一旦生成密钥就会破坏它。 它所做的只是导致networkingstream量增加熵。 它还监视entropy_avail计数器,以显示如何通过gpg填充和清空另一边。 在我的情况下,柜台快速填满64,并清空回0(猜测gpg大堆64)。 我在服务器上等待了超过3个小时的4096位密钥生成。 开始运行这个脚本后,在5分钟内完成了。

我被绑定,并决定在我的无头的Ubuntu 14.04服务器上生成熵,以便用gpg --gen-key生成一个4096密钥gpg --gen-key

有一个生成熵的软件包。 安装示例:

sudo apt-get install haveged

我不得不sudo apt-get install rng-tools因为它在下面的testing中是依赖的。

testing以查看熵是否由于生成而产生的示例:

cat /dev/random | rngtest -c 1000

任何随机数发生器都可以接受非常less量的失败,但是当使用徘徊时,可以期望经常看到998-1000的成功。

我在这里的教程中发现了它:

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

运行gpg --gen-key后,我现在有密钥