我们有一个 Apt-mirror 服务器。我们在这个服务器上还有一个名为“local”的自定义 repo。
如果我在 sources.list 中添加以下行:
deb http://aptmirror.example.com/local trusty main
显示以下错误:
W: Erreur de GPG : http://aptmirror.example.com trusty InRelease : The following signatures couldn't be verified because the public key is not available : NO_PUBKEY 2ED3267B70B1ADC4
即使使用以下命令:
gpg --keyserver aptmirror.example.com --recv-keys 2ED3267B70B1ADC4
gpgkeys: key 2ED3267B70B1ADC4 can't be retrieved
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
我也尝试过,apt-key adv
但是没有用。
您知道如何让所有 Linux 客户端都可以使用这个本地 GPG 公钥吗?
尝试
gpg --send-keys --keyserver keyserver.ubuntu.com $GPGKEY
或者
gpg --send-keys --keyserver keys.gnupg.net $GPGKEY
但我得到了:
gpgkeys: this keyserver type only supports key retrieval
gpg: keyserver internal error
gpg: keyserver send failed: keyserver error
复制粘贴gpg --export --armor
并不是真正的解决方案,因为有 200 台电脑
编辑:感谢您的回答。
我尝试了这个:
gpg --send-keys --keyserver keyserver.ubuntu.com $GPGKEY
或者
gpg --send-keys --keyserver keys.gnupg.net $GPGKEY
但我得到了:
gpgkeys: this keyserver type only supports key retrieval
gpg: keyserver internal error
gpg: keyserver send failed: keyserver error
对于 200 台计算机来说,复制粘贴gpg --export --armor
并不是真正的解决方案......
答案1
我认为这aptmirror.example.com
听起来像是一个 apt 镜像服务器,而不是 GPG 密钥服务器?
通常,您会将密钥上传到公钥服务器(如 subkeys.pgp.net),但这不足以建立信任。
答案2
在镜子上做:
gpg --export --armor
选择密钥并在客户端机器上执行以下操作:
apt-key add -[ENTER]
[PASTE KEY][ENTER]
[Ctrl-D]
或者
在镜像上将密钥发布到密钥服务器
gpg --send-keys
然后:
gpg --recv-keys 2ED3267B70B1ADC4
在客户端上。在发布密钥和密钥在密钥服务器上可用之间,您可能需要等待几分钟。