如何导入公钥?


27

运行更新时,出现以下错误。

GPG error: http://cran.wustl.edu maverick/ Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 51716619E084DAB9

因此,我运行以下代码并获得以下错误消息:

$ gpg --keyserver subkeys.pgp.net --recv 51716619E084DAB9
gpg: requesting key E084DAB9 from hkp server subkeys.pgp.net
gpg: key E084DAB9: "Michael Rutter <marutter@gmail.com>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

如何设置可以使用的公钥或如何解决此问题?

Answers:


35

1)您可以尝试以下方法:

gpg --keyserver keyserver.ubuntu.com --recv E084DAB9  

然后:

 gpg --export --armor E084DAB9 | sudo apt-key add - && sudo apt-get update  

2)如果“ 1”不起作用(您并不孤单),则可以使用以下命令:

“有些人报告说使用[第一种方法]存在困难。问题通常与防火墙阻止端口11371有关。另一种方法是在http://keyserver.ubuntu.com:11371/中搜索密钥,然后复制该密钥。输入纯文本文件的密钥(例如key.txt),然后将密钥输入apt-key

sudo apt-key add key.txt  

这里所解释。

为了使这种特定情况变得容易:

通过搜索Michael Rutter,我们可以:

公钥服务器-获取``0x51716619e084dab9''

----- BEGIN PGP公钥块-----
版本:SKS 1.0.10

mQENBEy9tcUBCACnWQfqdrcz7tQL / iCeWDYSYPwXpPMUMLE721HfFH7d8ErunPKPIwq1v4Cr
NmMjcainofbu / BfuZESSK1hBAItOk / 5VTkzCJlzkrHY9g5v + XlBMPDQC9u4AE / myw3p52 + 0N
XsnBz + a35mxJKMl + 9v9ztvueA6EmLr2xaLf / nx4XwXUMSi1Lp8i8XpAOz / Xg1fspPMRhuDAG
YDnOh4uH1jADGoqYaPMty0yVEmzx74qvdIOvfgj16A / 9LYXk67td6 / JQ5LFCZmFsbahAsqi9
inNgBZmnfXO4m4lhzeqNjJAgaw7Fz2zqUmvpEheKKClgTQMWWNI9Rx1L8IKnJkuKnpzHABEB
AAG0I01pY2hhZWwgUnV0dGVyIDxtYXJ1dHRlckBnbWFpbC5jb20 + iQE + BBMBAgAoBQJMvbXF
AhsjBQkJZgGABgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBRcWYZ4ITauTy9B / 4hmPQ7
CSqw5OS5t8U5y38BlqHflqFev3llX68sDtzYfxQuQVS3fxOBoGmFQ / LSfXQYhDG6BZa4nDuD
ZEgb81Mvj0DJDl4lmyMdBoIvXhvdEPDd / rrOG + 1t2 + S429W9NIObKaZCs9abv2fnIhrtyAWx
c / iNR5rJmNXozvJVGAgAeNhBSrvZqFaPJ // BklbJhfVgNwt4GgtFl1vaU7LMaMrOWA9Hyd8d
WAGuIhbYXOOFj1WZ / OhUlYXnsIe8XzaJ1y6LyVkCLhaJ + MVtGwTXrFXRhBLQlhCYBfO25i / P
GUWSvRhI8n / r + RMNOuy1HlFbexRYrtPXOLbiO8AlFuIsX9nRuQENBEy9tcUBCADYcCgQCCF1
WUSn7c / VXNvgmXzvv3lVX9WkV4QdpcJXitXglXdTZwVxGv3AxDuaLEwxW7rbqKRPzWNjj4xT
Hxt2YtUjE + mLV58AFaQQU3aldYG8JPr2eohMNZqp2BG2odczw5eaO5l5ETjC1nHUjDUm8us3
TV3AXOajAjguGvpG3DKnx / gmudrMBVSAEE64kefyBmSR683zkXhw + NgbTID9XW1OSqE + fLQf
0ZzQEojMdfYIeV8Q5sMAmU3J9AdlpyDrZaYRmiphgw8PZTMahhz / o6Bz7p6VqA4Ncmr225nn
tIsjUUz0iK6TsaOi9KrF23Rw + IDUJeYkdVbwGqavgJG1ABEBAAGJASUEGAECAA8FAky9tcUC
GwwFCQlmAYAACgkQUXFmGeCE2rlB9Qf + JKMUzM0KVdTFWocGP + v4xTJsnKjYfjPjOkFYAdxh
jkiIq7h7ws0s + UKqmzSG4vX5Qz46GZcB7x0hVrN0gqCcfpruPZOjXNkRwtsXbLfiurrZQ6dS
PsNIE9L4DZdSTggwC3i7jiDlK6TtIMXD55VoVvVAvmzt6 / f7y4qsVxhZ / N3jMqq1vLUESw8e
Vq2ryZRU9OIUufb5JjGNJ1Zz0Zp8hV / IPLoIv1OIocWov27YLcr6EnXuvXvU / MSm97YifdG9
UYCE99nHTioSM0Q3cgpu5EppVNrc232gyG2vlHzhsstNBx55cUmAX2fEzxuRipLS0iq4L0zU
Gdgdjn4noGDzGA ==
= BF1w
-----结束PGP公钥块-----

I)将其复制到txt文件:

gedit ~/Michael.txt  

II)运行这个

sudo apt-key add ~/Michael.txt && rm ~/Michel.txt  

此外EvilPhoenix有“有一个脚本,您可以安装它可以让你执行一个更容易单行命令这里所描述的功能,它是一个快速启动项目的一部分[他]开始时,PPA它位于这里
其使用Bash编写,但要满足其资格要求就绰绰有余。
它与所有版本的Ubuntu Lucid及更高版本兼容。”


与第一个命令相同的错误消息。第二条命令似乎读取了很多软件包列表。
ATMathew 2011年

那是因为其中包含第二个命令sudo apt-get update。第二个命令的前两个部分很重要:gpg --export --armor E084DAB9 | sudo apt-key add - 。该命令实际上将使pubkey与apt一起使用。
托马斯·沃德

我有一个可以安装的脚本,该脚本可以让您以更简单的单行命令执行此处描述的功能,这是我启动的Launchpad项目的一部分,其PPA位于此处:launchpad.net/ 〜addgpg-apt-developers / + archive / ppa。它是用Bash编写的,但这足以使它符合条件。它可能应该以超级用户身份运行,但它与所有版本的Ubuntu Lucid及更高版本兼容(我仍在对较早版本进行测试)。
托马斯·沃德

1
当然,我的脚本功不可没,您可以传播它。只要您能给我应得的荣誉(您做到了);)
托马斯·沃德

大家好,我尝试了建议的解决方案1,但仍然出现相同的错误。同样,当我尝试第2部分时,我将内容复制到keyserver.ubuntu.com:11371/pks/…中的主目录中的Nano文本文件中,并运行命令sudo apt-key add〜/ Michael.txt。我有错误:gpg:找不到有效的OpenPGP数据。
shoestringfries


6

要添加apt-key,您必须使用:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E084DAB9

当公司防火墙阻止默认端口11371时,这是获取密钥的最简单方法。谢谢!
内森·沃森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.