PGP:没有足够的随机字节可用。请做一些其他的工作,让操作系统有机会收集更多的熵

问题描述 投票:67回答:14

安装程序:虚拟机上的Ubuntu服务器,具有6个内核和3GB内存。

当我试图通过像asymmetric key pair这样的GPG生成gpg --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 - >它随机生成一系列随机生成的值以增加熵。

我在这里看不到任何变化qazxsw poi

它仍然坚持给我同样的错误

linux random gnupg entropy
14个回答
79
投票

运行以下命令:

watch cat /proc/sys/kernel/random/entropy_avail

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


0
投票

我试着解决。我使用Fedora 25与gpg1和gpg2安装为机器标准。

宣布问题。 如果您使用Fedora 25操作系统,我会在otrust.tmp看到与ownertrust的gpg冲突(请删除旧的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“type-here-your-secKEY”


0
投票

在gpg消息的末尾你看到像括号一样(剩下125个字节)

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

然后做2到3次,GPG显示一个答案告诉你它完成了密钥生成:)


0
投票

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

$sudo apt-get install rng-tools

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


-2
投票

运行sudo apt-get install haveged rng-tools

然后运行$ sudo rngd -r /dev/urandom

$ gpg --user-agent(显示rngd的进程号,例如9999)

然后$ ps -ef | egrep rngd

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


-7
投票

只需在Ubuntu下使用另一个随机制造商:

$ sudo kill 9999

并重试你的gpg命令


61
投票

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

haveged


14
投票

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

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

有关更多信息,请访问sudo aptitude install haveged


9
投票

我在观看http://alsdias.blogspot.jp/2012/11/gpg-not-enough-random-bytes-available.html值时尝试了不同的技巧。但是尝试制作整个磁盘的MD5哈希真的给了我的系统熵类固醇而不安装额外的包。

/proc/sys/kernel/random/entropy_avail


5
投票

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

提防人们告诉你运行find /dev/disk/by-uuid/ -type l | xargs md5sum。虽然这将消除您的错误,但它通过伪造熵并导致不安全的密钥来实现。


3
投票

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

rngd -r /dev/urandom

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


2
投票

这就是我找到的解决方案

我不得不做base64 /dev/urandom

之后,在另一个终端,我解雇了gpg --gen-key --no-use-agent

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


2
投票

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

这应该解决了这个问题,检查上一个选项卡,你有关键


0
投票

我做了apt-get install libreoffice和apt-get remove libreoffice *几次。这就是诀窍。选择一些其他大胖程序供自己使用。

© www.soinside.com 2019 - 2024. All rights reserved.