Ubuntu GPG依赖于熵产生

Ubuntu GPG依赖于熵产生,ubuntu,gnupg,Ubuntu,Gnupg,在尝试生成GPG密钥(使用GPG--gen key)时,它可能会在发出以下消息后挂起: 没有足够的随机字节可用。请做一些其他的工作给我 操作系统提供了收集更多熵的机会!(还需要278个字节) gpg(GnuPG)1.4.16 Ubuntu 14.04.2 LTS编辑: 一般不应遵循此建议,因为它不会生成安全密钥。请参见胡亚卡拉的答案,或了解详细信息 事实证明,这是一个已知的问题: 我通过安装rng工具解决了这个问题 iesudo apt获取安装rng工具 然后gpg--gen key按预期工作

在尝试生成GPG密钥(使用GPG--gen key)时,它可能会在发出以下消息后挂起:

没有足够的随机字节可用。请做一些其他的工作给我 操作系统提供了收集更多熵的机会!(还需要278个字节)

gpg(GnuPG)1.4.16

Ubuntu 14.04.2 LTS

编辑: 一般不应遵循此建议,因为它不会生成安全密钥。请参见胡亚卡拉的答案,或了解详细信息

事实证明,这是一个已知的问题:

我通过安装rng工具解决了这个问题

ie
sudo apt获取安装rng工具


然后
gpg--gen key
按预期工作。

尽管rng工具可以工作,但不建议这样做,因为它不提供真正的熵。请参见此处的讨论:

对于对此感到沮丧的用户,我发现在没有鼠标/桌面的服务器上有一些有用的东西

1) 完成创建GPG密钥的过程。如果它挂起等待更多的熵,请转到下一步

2) 通过打开一个终端并键入(这将每秒查看一次该文件),您可以查看系统的熵有多大:

3) 打开第三个终端以生成熵。你可以尝试各种方法来提高熵。下面是我注意到的一些事情,它们增加了熵,足以使gpg工作。注意,这有点随机(没有双关语)。有时做某事会增加熵;但当我再次这样做时,它不会:

从internet获取一个大文件

wget http://us1.php.net/get/php-7.2.2.tar.bz2/from/this/mirror
执行将大量内容打印到终端的操作:

ls -R /
sudo find /folder/with/lots/of/files/ -type f | xargs grep 'simple string that shows up in lots of files'
4) 如果你所做的并没有增加熵的效用,那就试试别的办法

sudo-apt-install-haveged
这将安装haveged服务,它可以更有效地收集熵并填充
/dev/random
。安装
haveged
后,无需运行任何其他命令,它将自动启动服务
systemctl status haveged
验证服务是否正在运行。您还可以
cat/dev/random
演示它可以连续提供值。在我的测试中,
gpg--gen key
在安装了
haveged
的情况下在10秒内完成

如果你不想安装任何东西,你可以用其他方式生成熵,但是它比haveged慢很多(在我的测试中大约慢10倍)。当
gpg--gen key
正在运行时,在另一个终端中运行此命令:

为true时;做
#打印熵可用
cat/proc/sys/kernel/random/entropy\u avail
#将1 MB的零流写入/tmp/foo
#“conv=fdatasync”刷新磁盘缓存
dd bs=1M计数=1如果=/dev/zero of=/tmp/foo conv=fdatasync
完成
#一班轮
虽然真实;cat/proc/sys/kernel/random/entropy\u是否有用;dd bs=1M count=1如果=/dev/zero of=/tmp/foo conv=fdatasync;完成

如果在云服务器上,可能需要反复下载较大的文件,例如
wgethttp://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso
有趣的是,运行
sudo apt get install rng tools
产生的熵比任何其他建议的方法都要多。我的gpg--gen密钥被暂停了几十分钟,并在rng工具的安装过程中立即完成。这是在经历了@juacala下面列出的所有方法之后(都是在同一次调用
gpg--gen key
!)根据答案中引用的链接,如果要将密钥用于实际用途,则不应使用rng工具,因为它不会产生真正的熵,而且您的密钥可能不安全。请参阅重复问题:
ls -R /
sudo find /folder/with/lots/of/files/ -type f | xargs grep 'simple string that shows up in lots of files'