70

设置:具有 6 核和 3GB RAM 的虚拟机上的 Ubuntu 服务器。

当我试图生成这样的通asymmetric key pair孔时。我收到以下错误:GPGgpg --gen-key

Not enough random bytes available.  Please do some other work to give
the OS a chance to collect more entropy!

我试着用谷歌搜索了一下。这就是我意识到的,我需要启动另一个终端并输入cat /udev/random--> 它随机生成一系列随机生成的值以增加熵。

我在这里看不到任何变化watch cat /proc/sys/kernel/random/entropy_avail

它仍然给我同样的错误

4

15 回答 15

84

运行以下命令:

find / > /dev/null

这帮助我快速完成了我的密钥生成。

于 2013-10-19T20:46:19.607 回答
65

尝试安装haveged,这是一个守护进程,它可以帮助系统为您的密钥生成随机数。

sudo aptitude install haveged

于 2014-02-11T15:27:29.390 回答
16

步骤 1 先在 shell 上运行,让它运行 ls / -R

第2步现在尝试生成将完成的密钥

有关更多信息,请关注 http://alsdias.blogspot.jp/2012/11/gpg-not-enough-random-bytes-available.html

于 2014-02-28T09:51:53.740 回答
8

我在观察/proc/sys/kernel/random/entropy_avail价值的同时尝试了不同的技巧。但是尝试对整个磁盘进行 MD5 散列确实给了我的系统熵在类固醇上,而无需安装额外的软件包。

find /dev/disk/by-uuid/ -type l | xargs md5sum

于 2016-02-10T09:22:42.640 回答
5

尝试安装 rngd。如果您的 CPU 相当现代,它将内置一个硬件随机数生成器,并且 rngd 将使用它来生成足够的熵。

当心那些告诉你跑的人rngd -r /dev/urandom。虽然这会消除您的错误,但它是通过伪造熵来实现的,并导致密钥不安全。

于 2014-11-11T16:23:04.240 回答
3

在新选项卡中移动鼠标 30 秒左右,然后尝试以下操作:

base64 /dev/urandom

这将开始将随机代码打印到屏幕上。在几分钟内,将生成足够数量的伪随机数据来完成密钥生成。

于 2016-09-11T10:58:31.427 回答
2

这就是我找到的解决方案

我必须做gpg --gen-key --no-use-agent

之后在另一个终端我开火了cat /dev/random

这对我来说幸运的是最后工作了:)

于 2012-07-29T12:58:15.013 回答
2

尝试在命令行上运行(在另一个终端选项卡中) $cat /proc/sys/kernel/random/entropy_avail ,它返回小于 100-200,然后出现问题,安装 rng-tools $sudo apt-get install rng-tools

那应该已经解决了这个问题,检查上一个标签,你有钥匙

于 2016-02-08T18:28:45.473 回答
0

我做了几次 apt-get install libreoffice 和 apt-get remove libreoffice* 。那成功了。选择一些其他的大胖程序供自己使用。

于 2015-02-14T03:55:10.393 回答
0

我尝试解决。我使用带有 gpg1 和 gpg2 的 Fedora 25 已安装为机器的标准。

声明问题
如果您使用 Fedora 25 操作系统,我会在 otrust.tmp 看到 gpg 与 ownertrust 冲突(请删除旧的 trustdb.gpg)。并且必须创建新的 trustdb.gpg。

请在您的终端命令中执行此命令。(不必root模式)。您可以尝试使用以下命令重新创建 trustdb:

cd ~/.gnupg

gpg2 --export-ownertrust > otrust.tmp
rm trustdb.gpg
gpg2 --import-ownertrust < otrust.tmp

那么你可以使用

gpg --list-secret-keys --keyid-format LONG
然后导出为 asci 格式。
gpg --armor --export“在这里输入你的secKEY”

于 2017-05-11T13:59:22.480 回答
0
 sudo apt-get install rng-tools to set it up.

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

于 2020-05-27T17:37:57.770 回答
0

在 gpg 消息的末尾,你会看到括号(剩余 125 字节)

gpg 需要一些你必须输入的随机字节。所以按 Ctrl-z 并输入一组随机的 x(括号中的数字)字符,不一定有意义,例如:dfkheuhasdkjvdaiugekjfhflsdfhuhggskdfjhsjdf

然后执行 2 或 3 次,GPG 会显示一个答案,告诉你它已完成密钥生成:)

于 2017-09-06T20:02:34.793 回答
0

您可以安装守护程序来收集熵。该命令将安装两个这样的守护进程:

sudo apt-get install haveged rng-tools

我个人更喜欢 haveged(因为创建它的人)而不是 rng-tools。但是,我更喜欢安装两者,因为它们完全不同。

于 2017-07-05T05:47:02.753 回答
-2

跑步$ sudo rngd -r /dev/urandom

然后运行$ gpg --user-agent

$ ps -ef | egrep rngd(显示 rngd 的进程号,例如 9999)

然后$ sudo kill 9999

在我的 Ubuntu 13.04 系统上为我工作。

于 2013-09-30T17:03:55.193 回答
-7

只需在 Ubuntu 下使用另一个随机生成器:

mv /dev/random /dev/chaos && ln -s /dev/urandom /dev/random

并重试你的 gpg 命令

于 2014-05-12T09:07:53.953 回答