我在后台运行了大量进程来尝试获得足够的熵,但我仍然失败。
**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)**
Run Code Online (Sandbox Code Playgroud)
我需要一种方法来生成有效的密钥,因为我试图做的事情显然失败了。
尝试为服务器生成密钥。
gpg --gen-key
Run Code Online (Sandbox Code Playgroud)
我们需要生成大量随机字节。在素数生成期间执行一些其他操作(在键盘上键入、移动鼠标、使用磁盘)是个好主意;这使随机数生成器有更好的机会获得足够的熵。
它只是挂在那里。
还有一个错误:
无法连接到`/root/.gnupg/S.gpg-agent':没有这样的文件或目录
之后似乎消失了:
gpg-agent --daemon
GPG_AGENT_INFO=/tmp/gpg-4c5hyT/S.gpg-agent:1397:1; 导出 GPG_AGENT_INFO;
#GPG_AGENT_INFO=/tmp/gpg-4c5hyT/S.gpg-agent:1397:1; export GPG_AGENT_INFO;
gpg --gen-key
...
Run Code Online (Sandbox Code Playgroud)
但同样,它挂在“......获得足够的熵”。
没有“++++++++++++++++++++++++++++++++++++++++++”的从论坛帖子看起来应该是预期的,因为生成了密钥。
我试过重新安装软件包,但似乎一切都取决于 gpg。
我也读过其他人在 centos 6 上也遇到过这个问题(而 centos 5 工作正常)。
没有什么了不起的/var/log/*。
关于从这里去哪里的任何想法?
谢谢。
我是这个 PGP 的新手。以下是我的问题:
验证
当我执行此操作时,收到消息“此密钥未通过受信任的签名进行认证”。有没有办法让它更受信任和更好,但这样做的正确方法是什么?
[root@dev /]# gpg --verify bind-9.9.4-P2.tar.gz.sha512.asc bind-9.9.4-P2.copiedlink.tar.gz
gpg: Signature made Fri 03 Jan 2014 01:58:50 PM PST using RSA key ID 189CDBC5
gpg: Good signature from "Internet Systems Consortium, Inc. (Signing key, 2013) <codesign@isc.org>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 2B48 A38A E1CF 9886 435F 89EE 45AC 7857 189C DBC5
Run Code Online (Sandbox Code Playgroud)
管理密钥
我下载并保存了一个公钥为 isc.public.key,并使用以下命令导入它:
gpg –import isc.public.key …Run Code Online (Sandbox Code Playgroud) 在加密要发送给协作者的文件时,我看到以下消息:
gpg: using subkey XXXX instead of primary key YYYY
Run Code Online (Sandbox Code Playgroud)
为什么会这样?我注意到当他们向我发送加密文件时,它似乎也针对我的子密钥而不是我的主密钥进行了加密。对我来说,这似乎不是问题;gpg (1.4.x, macosx) 只是处理它并继续前进。但是对于他们来说,通过他们的自动化工具设置,这似乎是一个问题,他们要求我一定要使用他们的主键。
我试过读一些书,我订购了 Michael Lucas 的“GPG 和 PGP”一书,但我不明白为什么会有这种区别。我已经读过用于签名的密钥和用于加密的密钥会有所不同,但我最初认为这是关于公钥与私钥的问题。
如果这是一个信任/验证问题,我经历了比较指纹和验证的过程,是的,我信任这个密钥。当我这样做时,我注意到主键和子键有不同的“使用”说明:
primary: usage: SCA
subkey: usage: E
Run Code Online (Sandbox Code Playgroud)
“E”似乎意味着“加密”。但是,我一直无法找到有关此的任何文档。此外,我的合作者已经使用这些工具和技术多年了,为什么这对我来说只是一个问题?
例如,该项目提供了一个*.asc带有 PGP 签名的文件来验证下载的内容(与校验和相反,您可以看到空列):https : //ossec.github.io/downloads.html
我将如何使用这个文件?我尝试了gpg --verify其他变体,但它似乎将名称与文件匹配,但是下载的文件名并不完全相同......不确定它应该如何工作。
我知道密钥服务器正在使用端口 11371,但在许多情况下,您不允许连接到此端口,也无法添加
无法修改防火墙配置的情况很多。
失败的示例命令
gpg --keyserver keyserver.ubuntu.com --recv-keys 0A5174AF
Run Code Online (Sandbox Code Playgroud)
你如何解决这个问题?
我使用 4096 字节的 RSA PGP 密钥;由于 SSH 也使用 RSA 标准,是否有可能将 PGP 密钥用作 SSH 密钥而无需在服务器上安装其他软件(并且尽可能少地在客户端上安装)?
我目前有一个 SSH 密钥,我已经使用了一段时间,我想开始使用带有新密钥环的 GnuPG。但是,鉴于我已经使用我的密钥多年,我仍然希望在 GPG 中使用该密钥作为主/主键。我已经尝试通过这些说明导入密钥。
但是,我最终得到了被认为是“子密钥”的东西。此外,如果我尝试在不创建标准 GPG 密钥的情况下导入它,GPG 甚至看不到这个子密钥。(我假设子密钥需要先由主密钥签名。)
如何使用此密钥作为 secring.gpg 中的主密钥?
我在https://www.gnupg.org/documentation/manuals/gnupg/Unattended-GPG-key-generation.html#Unattended-GPG-key-generation方法中发现无需用户交互即可生成 gpg 密钥,但它没有似乎工作。
我的脚本是:
#!/usr/bin/env bash
rm -rf .gnupg
mkdir -m 0700 .gnupg
touch .gnupg/gpg.conf
chmod 600 .gnupg/gpg.conf
tail -n +4 /usr/share/gnupg2/gpg-conf.skel > .gnupg/gpg.conf
touch .gnupg/{pub,sec}ring.gpg
cat >.gnupg/foo <<EOF
%echo Generating a basic OpenPGP key
Key-Type: RSA
Key-Length: 2048
Subkey-Type: RSA
Subkey-Length: 2048
Name-Real: User 1
Name-Comment: User 1
Name-Email: user@1.com
Expire-Date: 0
Passphrase: kljfhslfjkhsaljkhsdflgjkhsd
%pubring foo.pub
%secring foo.sec
# Do a commit here, so that we can later print "done" :-)
%commit
%echo done
EOF
gpg2 --verbose …Run Code Online (Sandbox Code Playgroud)