加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在Docker容器中使用GnuPG,因为它缺少熵?

发布时间:2020-12-16 03:52:28 所属栏目:安全 来源:网络整理
导读:我需要将一个apt存储库停靠.其中的包需要签名,目前已完成 恰当地发布snapshot -distribution =“stable”-gpg-key =“ ”我的快照 在此之前,需要使用gpg gen-key创建密钥. 但这样私有密钥将在docker镜像内部创建,这似乎不是一个好习惯.此外,id甚至不起作用;

我需要将一个apt存储库停靠.其中的包需要签名,目前已完成
恰当地发布snapshot -distribution =“stable”-gpg-key =“< key id>”我的快照

在此之前,需要使用gpg –gen-key创建密钥.

但这样私有密钥将在docker镜像内部创建,这似乎不是一个好习惯.此外,id甚至不起作用;运行gpg –gen-key –batch< gpg.in卡住:

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

我不知道是否甚至可以在docker容器中生成一个gpg密钥,即使它是,也可能不是一个好主意.

有没有办法通过外部密钥签署回购的内容?

最佳答案
缺少熵

Docker不提供虚拟/ dev / [u]随机设备.如果容器中没有足够的熵,则主机上没有足够的熵.

检查/ proc / sys / kernel / random / entropy_avail的内容,它们在Docker主机和容器上应该几乎相同(如果数量略有不同,它只是经常更改,否则重新检查几次).

可能的原因:

>在虚拟机中运行docker主机,例如由于boot2docker或自构造的虚拟机.只需确保在虚拟机中获得更多的熵,对于开发人员机器而言,hasgd是一个非常简单的解决方案,但可能不适合生产.
>另一个容器/应用程序正在耗尽所有熵.实现哪一个并中断/终止它,或生成更多的熵.
>你通常没有足够的熵.做一些工作(鼠标/键盘移动,(硬)磁盘I / O).

外部生成密钥对

无论如何,在真实机器上生成密钥并且仅将(私有)子密钥移动到服务器可能更合理.这样,您可以不时地交换子密钥(如果它被泄露).阅读What is a good general purpose GnuPG key setup?,了解设置OpenPGP密钥时要考虑的不同事项.

在构建Docker镜像时,使用COPY将文件放入机器,然后使用gpg – 在Dockerfile中导入它.之后,它的使用方式与使用gpg –gen-key在容器内生成它的方式完全相同.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读