在apt中出现“apt.releases.hashicorp.com的NO_PUBKEY”错误

11
在运行sudo apt update时,我遇到了以下错误:
Err:4 https://apt.releases.hashicorp.com focal InRelease                                                                               
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY AA16FCBCA621E701

我该怎么解决这个问题?


1
SO是一个编程问答平台,而这个问题并不涉及编程。具体来说,Vagrant不在讨论范围之内。关于操作系统、其实用程序、网络和硬件的问题,在此也不适合讨论。我可以在这里提什么问题?请删除此问题,并转而在https://superuser.com/上提问。 - Rob
公共 GPG 密钥更新的官方说明(包括“验证”指纹)可以在此处找到:https://www.hashicorp.com/official-packaging-guide - R Yoda
3个回答

12

删除 /etc/apt/sources.list.d/ 下现有的 Hashicorp 文件,然后按照 官方指南 进行操作:

sudo -s
wget -O- https://apt.releases.hashicorp.com/gpg |
    gpg --dearmor > /usr/share/keyrings/hashicorp-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" > /etc/apt/sources.list.d/hashicorp.list
apt update

0

GPG密钥已过期或丢失。

运行此代码以删除过时的密钥sudo rm /usr/share/keyrings/hashicorp-archive-keyring.gpg

并使用以下代码获取当前密钥:curl https://apt.releases.hashicorp.com/gpg | gpg --dearmor > /usr/share/keyrings/hashicorp-archive-keyring.gpg

我必须在根用户(sudo -s)下运行最后一个命令,因为我无法让sudo与管道字符一起使用。不太清楚原因。


curl https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg 负责管道操作,但并不能解决整体问题。 - jpsecher

0

问题出在使用的sources.list文件上。最终它链接到一个密钥环,其中不包含密钥AA16FCBCA621E701

在我的情况下,这个文件是/etc/apt/sources.list.d/hashicorp.list

deb [arch=amd64 signed-by=/usr/share/keyrings/terraform-archive-keyring.gpg] https://apt.releases.hashicorp.com jammy main

以上笔记(感谢MacroMan),引导我到这里(它创建了一个新的、有效的hashicorp-archive-keyring.gpg,他的原始指令除非你以su - root身份运行,否则不起作用,而我从来不这样做)

curl https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg

使用新的钥匙环,编辑上述文件以将terraform-archive-keyring.gpg替换为hashicorp-archive-keyring.gpg,然后sudo apt-get update应该可以无错误运行。

或者(我没有运行过这个命令,但有人可能会发现它有用,因为它使用sudo tee重新创建sources.list,所以不需要作为root用户运行,就像>一样)

echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee  etc/apt/sources.list.d/hashicorp.list

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接