dio*_*ogo 7 apt gnupg keyserver
不能sudo apt-get update:
Ign:8 http://download.opensuse.org/repositories/home:/Horst3180/xUbuntu_16.04 Release.gpg
Reading package lists... Done
W: GPG error: http://download.opensuse.org/repositories/home:/Horst3180/xUbuntu_16.04 Release: The following signatures were invalid: EXPKEYSIG 5A7D1D38BEB6D886 home:Horst3180 OBS Project <home:Horst3180@build.opensuse.org>
E: The repository 'http://download.opensuse.org/repositories/home:/Horst3180/xUbuntu_16.04 Release' is not signed.
Run Code Online (Sandbox Code Playgroud)
从无数次尝试中,我得到
1 signature not checked due to a missing key
Run Code Online (Sandbox Code Playgroud)
我的尝试是:
sudo apt-key adv --keyserver hkp://keys.gnupg.net:80 --recv-keys 5A7D1D38BEB6D886
Executing: /tmp/apt-key-gpghome.f5yVraTkTa/gpg.1.sh --keyserver hkp://keys.gnupg.net:80 --recv-keys 5A7D1D38BEB6D886
gpg: key 5A7D1D38BEB6D886: 1 signature not checked due to a missing key
gpg: key 5A7D1D38BEB6D886: "home:Horst3180 OBS Project <home:Horst3180@build.opensuse.org>" not changed
gpg: Total number processed: 1
gpg: unchanged: 1
Run Code Online (Sandbox Code Playgroud)
我越来越近了吗?其他没有结果的尝试包括:
这个命令
wget -nv http://download.opensuse.org/repositories/home:/Horst3180/xUbuntu_16.04/Release.key -O Release.key
sudo apt-key add - < Release.key
Run Code Online (Sandbox Code Playgroud)sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/Horst3180/xUbuntu_16.04/ /' > /etc/apt/sources.list.d/home:Horst3180.list"
wget -nv https://download.opensuse.org/repositories/home:Horst3180/xUbuntu_16.04/Release.key -O Release.key
sudo apt-key add - < Release.key
Run Code Online (Sandbox Code Playgroud)这个命令
sudo rm /var/lib/apt/lists/* -vf
Run Code Online (Sandbox Code Playgroud)这个命令
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5A7D1D38BEB6D886
Run Code Online (Sandbox Code Playgroud)
返回
Executing: /tmp/apt-key-gpghome.9tPKjtyC1E/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 5A7D1D38BEB6D886
gpg: keyserver receive failed: No keyserver available
Run Code Online (Sandbox Code Playgroud)请注意,在Horst3180 的 Home Project 中,GPG 密钥5A7D1D38BEB6D886的有效期为2019-10-02,因此该密钥似乎不再有效。
一般来说,如果 gpg 密钥过期,当您不是存储库的所有者时,您无能为力,除了尝试联系管理员。
如果您信任此存储库,或者确实需要其中的某些内容并且不太关心此安全功能,您也可以通过--allow-unauthenticated向 apt-get 添加选项来跳过 gpg 检查。
例子:sudo apt-get --allow-unauthenticated update,sudo apt-get -y --allow-unauthenticated install foo。
您还可以通过在/etc/apt/apt.conf.d/目录中使用您自己的配置文件来使此选项永久化。在您的 conf 文件中只需添加APT::Get::AllowUnauthenticated "true"; stanza.
注意:如果选择永久选项,您应该仔细添加选项,以便这仅对该特定存储库生效,而不是对所有其他存储库生效,因为它被认为存在安全风险。
小智 0
当密钥仍然有效时也可能会发生相同的错误。我有一个 Release.key 在一台 ubuntu 机器上工作正常,但在另一个系统上工作正常
apt-key add Release.key爆炸与
gpg: invalid key resource URL '/tmp/apt-key-gpghome.L3TpJ04C0i/isv:ownCloud:desktop.asc.gpg'
gpg: keyblock resource '(null)': General error
gpg: key 4ABE1AC7557BEFF9: 1 signature not checked due to a missing key
gpg: key 4ABE1AC7557BEFF9: 1 signature not checked due to a missing key
gpg: key 3B4FE6ACC0B21F32: 3 signatures not checked due to missing keys
gpg: key D94AA3F0EFE21092: 3 signatures not checked due to missing keys
gpg: key 871920D1991BC93C: 1 signature not checked due to a missing key
gpg: Total number processed: 6
gpg: skipped new keys: 6
Run Code Online (Sandbox Code Playgroud)
但例如gpg --import < Release.key可以很好地导入密钥。(知道这一点很好,但对 apt 没有帮助。)
手动解决方法(但不适用于过期的密钥):
cat Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/owncloud-test.gpg
然后,无需任何未经身份验证的欺骗即可成功apt update。apt install ...似乎 apt-key add 对我的系统之一过于挑剔。
| 归档时间: |
|
| 查看次数: |
6724 次 |
| 最近记录: |