Debian Stretch上的apt-key add:找不到有效的OpenPGP数据

我试图按照Docker网站上提供的Debian安装说明进行操作 。 不幸的是,为我添加一个GPG密钥失败了:

$ curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - gpg: WARNING: nothing exported gpg: no valid OpenPGP data found. gpg: Total number processed: 0 

我试图下载密钥并从本地文件系统添加它,但效果是一样的:

 $ apt-key add docker.gpg gpg: WARNING: nothing exported gpg: no valid OpenPGP data found. gpg: Total number processed: 0 

其他键也是如此,例如VirtualBox:

 $ apt-key add oracle_vbox_2016.asc gpg: WARNING: nothing exported gpg: no valid OpenPGP data found. gpg: Total number processed: 0 

键看起来很好:

 $ cat docker.gpg -----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFit2ioBEADhWpZ8/wvZ6hUTiXOwQHXMAlaFHcPH9hAtr4F1y2+OYdbtMuth lqqwp028AqyY+PRfVMtSYMbjuQuu5byyKR01BbqYhuS3jtqQmljZ/bJvXqnmiVXh [...] jCxcpDzNmXpWQHEtHU7649OXHP7UeNST1mCUCH5qdank0V1iejF6/CfTFU4MfcrG YT90qFF93M3v01BbxP+EIY2/9tiIPbrd =0YYhg -----END PGP PUBLIC KEY BLOCK----- $ shasum docker.gpg f5b5bd1487cefc0c53c947e11ca202e86b33dbad docker.gpg $ gpg --list-packets docker.gpg # off=0 ctb=99 tag=6 hlen=3 plen=525 :public key packet: version 4, algo 1, created 1487788586, expires 0 pkey[0]: [4096 bits] pkey[1]: [17 bits] keyid: 8D81803C0EBFCD88 # off=528 ctb=b4 tag=13 hlen=2 plen=43 :user ID packet: "Docker Release (CE deb) <[email protected]>" # off=573 ctb=89 tag=2 hlen=3 plen=567 :signature packet: algo 1, keyid 8D81803C0EBFCD88 version 4, created 1487792064, md5len 0, sigclass 0x13 digest algo 10, begin of digest b2 c9 hashed subpkt 2 len 4 (sig created 2017-02-22) hashed subpkt 27 len 1 (key flags: 2F) hashed subpkt 11 len 4 (pref-sym-algos: 9 8 7 3) hashed subpkt 21 len 4 (pref-hash-algos: 10 9 8 11) hashed subpkt 22 len 4 (pref-zip-algos: 2 3 1 0) hashed subpkt 30 len 1 (features: 01) hashed subpkt 23 len 1 (keyserver preferences: 80) subpkt 16 len 8 (issuer key ID 8D81803C0EBFCD88) data: [4094 bits] # off=1143 ctb=b9 tag=14 hlen=3 plen=525 :public sub key packet: version 4, algo 1, created 1487788586, expires 0 pkey[0]: [4096 bits] pkey[1]: [17 bits] keyid: 7EA0A9C3F273FCD8 # off=1671 ctb=89 tag=2 hlen=3 plen=1086 :signature packet: algo 1, keyid 8D81803C0EBFCD88 version 4, created 1487788586, md5len 0, sigclass 0x18 digest algo 8, begin of digest f2 b8 hashed subpkt 2 len 4 (sig created 2017-02-22) hashed subpkt 27 len 1 (key flags: 02) subpkt 16 len 8 (issuer key ID 8D81803C0EBFCD88) subpkt 32 len 540 (signature: v4, class 0x19, algo 1, digest algo 8) data: [4095 bits] 

难道我做错了什么? 我应该采取什么措施进一步排除故障?

我在Debian Stretch上。 我没有任何防火墙。 我已经尝试过几个networking。

只是删除/etc/apt/trusted.gpg解决了这个问题。 这不是有害的。 所有的debian密钥都存储在/etc/apt/trusted.gpg.d中

这个trusted.gpg文件是由software-properties-gtk (用于存储其他回购密钥,我想)创build的,它不适合Debian Stretch上的apt

参考: https : //readlist.com/lists/lists.debian.org/debian-user/77/388463.html

我的回答太晚了,但是由于我遇到了同样的问题,我终于设法解决了这个问题,这里是解决scheme。

症状:我的apt-get总是拒绝更新,因为密钥无法检查。 Apt-key总是拒绝添加新的密钥(在从gpg中读取密钥时没有添encryption钥),所以我被卡住了。

这实际上是文件/etc/apt/trusted.gpg被损坏。 在做了这个文件的备份后,我重新导入了gpg的debian签名密钥:8B48AD6246925553等(见https://ftp-master.debian.org/keys.html):gpg –keyserver keyring.debian。 org –recv-keys 8B48AD6246925553

然后删除文件“trusted.gpg”,我用gpg把密钥导出到/etc/apt/trusted.gpg:gpg –export 8B48AD646925553 >> trusted.gpg

为每个密钥做,并且apt-get再次工作!

马蒂亚斯