我之前可以,但后来出现这个错误,之后我就无法再这样做了:
7,898 kB were fetched in 2 s (3,370 kB/s).
Reading package lists… Done
Building dependency tree… Done
Status information is being read in… Done
Update available for 6 packages. Run "apt list --upgradable" to view them.
W: An error occurred while verifying the signature. The depot has not been updated and the previous index files are used.
GPG Error: https://repo.protonvpn.com/debian stable InRelease: The following signatures could not be verified because their public key is not available: NO_PUBKEY 4EDE055B645F044F
W: Failed to get from https://repo.protonvpn.com/debian/dists/stable/InRelease The following signatures could not be verified because their public key is not available: NO_PUBKEY 4EDE055B645F044F
W: Some index files could not be downloaded. They were ignored or old ones were used in their place.
答案1
欢迎 Srecko 来到论坛。
我正在使用谷歌翻译来查看英文版本。希望我们能够像这样顺利沟通。
问题
ProtonVPN 存储库的公钥丢失,导致签名验证失败。
制造商的说明
我认为他们没有遵循标准流程,这让事情变得困难。但是,如果您按照步骤 1 到 4 操作,可能会解决您的问题。
参考:https://protonvpn.com/support/official-linux-vpn-mx-linux/
- 安装 Proton VPN 存储库
只需双击下载的 DEB 文件并按照默认包管理器给出的提示进行操作(或在 Xfce 桌面上右键单击→安装 Deb 文件)。
请不要尝试检查此发布包的 GPG 签名(dpkg-sig –verify)。我们的内部发布流程分为几个部分,发布包使用 GPG 密钥签名,而存储库使用另一个 GPG 密钥签名。因此密钥不匹配。
如果您想检查 repo 包的完整性,可以使用以下命令检查其校验和:
echo "c68a0b8dad58ab75080eed7cb989e5634fc88fca051703139c025352a6ee19ad protonvpn-stable-release_1.0.3-2_all.deb" | sha256sum --check -
这个答案的其余部分仅供参考。
GPG 缺少密钥错误
当 GPG 显示 PKI 公钥丢失时,以下是验证 PKI 公钥的方法。
- 从源头开始
我无法使用 curl 列出 repo.protonvpn.com/debian/ 目录,但您可以在 Web 浏览器中查看它:https://repo.protonvpn.com/debian/.公钥就在那里。
- 密钥 ID
密钥 ID 是从公钥派生出来的。下载并派生密钥的方法如下:
wget -O protonvpn_public_key.asc https://repo.protonvpn.com/debian/public_key.asc
gpg --import --with-fingerprint protonvpn_public_key.asc
它与您在帖子中给出的输出相匹配。
gpg:密钥 4EDE055B645F044F:公钥“Proton Technologies AG [电子邮件保护]“进口
GPG 说明
Debian 和 Ubuntu 都使用 GPG(GNU 隐私卫士)进行包管理和维护。它执行以下功能:
- 包裹签名
- 存储库验证
- 密钥管理
- 安全增强功能
错误提示软件无法更新(或维护),因为 GPG 找不到密钥来验证其安全性。Ubuntu 存储库配置必须指向正确的 URL,以便找到公钥。
配置:
存储库配置位于文件/etc/apt/sources.list
和目录中/etc/apt/sources.list.d/
(在另一个文件内)。关键位置:
https://repo.protonvpn.com/debian/public_key.asc
因此你必须确保你的计算机的配置指向正确的位置。
日志
日志是查找根本原因的重要资源。对于此问题,APT 日志最为适用。
tail -n 100 /var/log/apt/history.log
cat /var/log/apt/history.log | grep -E -i "error|refused|failed|proton"
sudo grep -E -i "error|refused|failed|proton" /var/log/apt/history.log /var/log/auth.log /var/log/syslog /var/log/dpkg.log