首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ubuntu 18.04上安装sbt时出错:` `gpg: keyserver接收失败:参数无效`

在Ubuntu 18.04上安装sbt时出错:` `gpg: keyserver接收失败:参数无效`
EN

Stack Overflow用户
提问于 2018-08-23 17:59:36
回答 3查看 8.9K关注 0票数 4

我在跟踪official sbt install instructions

代码语言:javascript
复制
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
Executing: /tmp/apt-key-gpghome.uRI0yiusG0/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
gpg: keyserver receive failed: Invalid argument

编辑:

我试着深入研究它执行的gpg.1.sh脚本。下面是对gpg的最后一个调用。

代码语言:javascript
复制
$ sudo cat /tmp/apt-key-gpghome.IRnmlx6hfX/gpg.0.sh
#!/bin/sh
exec 'gpg' --ignore-time-conflict --no-options --no-default-keyring \
--homedir '/tmp/apt-key-gpghome.IRnmlx6hfX' --no-auto-check-trustdb --trust-model always "$@"

编辑2:

我尝试过直接从keyserver查询密钥,但没有成功。参见http://keyserver.ubuntu.com/pks/lookup?search=2EE0EA64E40A89B84B2DF73499E82A75642AC823&op=vindex。有没有可能钥匙不见了?

编辑3:

我在2月24日重试了一次,现在它工作了!

EN

回答 3

Stack Overflow用户

发布于 2018-10-02 20:11:34

发出命令

代码语言:javascript
复制
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823

我得到了错误

代码语言:javascript
复制
Executing: /tmp/apt-key-gpghome.DKOlZn67Q0/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
gpg: ricezione dal server di chiavi non riuscita: Dati assenti

(无数据)

我是这样解决的(笔记本电脑上安装了Ubuntu 18.04.1,在企业代理服务器后面,无需身份验证):

通过gpg获得密钥:gpg --receive-keys 99E82A75642AC823

  • gpg使用电子邮件address

  • saved scalasbt@gmail.com

  • searched

  • in local file (sbt-

  • )向我展示了该密钥属于http://keyserver.ubuntu.com/上的那个密钥,然后使用sudo apt-key add sbt-key

导入

票数 9
EN

Stack Overflow用户

发布于 2018-09-07 18:12:28

也有同样的问题。两个ubuntu 18.04.1盒子。一个是最近安装的,另一个是最近从16.04.5升级的。在第一个示例中,我可以导入密钥来安装Scala &R,而不会出现问题。在第二个示例中,导入过程失败,并出现与您相同的错误。

似乎gpg导入了启动dirmng守护进程的密钥。此进程是通过网络与keyserver.ubuntu.com通信的进程。

为了解决这个问题,我以这种方式在gpg之前启动了dirmng:

代码语言:javascript
复制
sudo -i
dirmngr --daemon --homedir /root/key --debug-level guru --log-file dirmng.log
gpg -vv --debug-level 9 --ignore-time-conflict --no-options --no-default-keyring --homedir '/root/key' --no-auto-check-trustdb --trust-model always --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823

然后gpg显示带有dirmngr的对话框:

代码语言:javascript
复制
gpg: DBG: chan_3 -> KEYSERVER --clear hkp://keyserver.ubuntu.com:80
gpg: DBG: chan_3 <- OK
gpg: DBG: chan_3 -> KS_GET -- 0x2EE0EA64E40A89B84B2DF73499E82A75642AC823
gpg: DBG: chan_3 <- ERR 167804976 Invalid argument <Dirmngr>
gpg: keyserver receive failed: Invalid argument
gpg: DBG: chan_3 -> BYE

和dirmngr日志文件显示解析keyserver.ubuntu.com时出错:

代码语言:javascript
复制
2018-09-07 11:44:34 dirmngr[16174.6] DBG: chan_6 <- KS_GET -- 0x2EE0EA64E40A89B84B2DF73499E82A75642AC823
2018-09-07 11:44:39 dirmngr[16174.6] resolving 'keyserver.ubuntu.com' failed: Invalid argument
2018-09-07 11:44:39 dirmngr[16174.6] number of system provided CAs: 133
2018-09-07 11:44:44 dirmngr[16174.6] resolving 'keyserver.ubuntu.com' failed: Invalid argument
2018-09-07 11:44:44 dirmngr[16174.6] can't connect to 'keyserver.ubuntu.com': host not found
2018-09-07 11:44:44 dirmngr[16174.6] error connecting to 'http://keyserver.ubuntu.com:80': Invalid argument
2018-09-07 11:44:44 dirmngr[16174.6] command 'KS_GET' failed: Invalid argument

为什么同一网络的一个机器无法解析来自dirmngr的keyserver.ubuntu.com,而新的机器成功了?为什么在旧的机器中,我可以用nslookup解析keyserver.ubuntu.com,而dirmngr不能?我不知道。但这两个机器之间的区别在于/etc/resolv.conf。我添加了google DNS服务器。从resolv.conf中删除它们可以使dirmngr正常工作。

代码语言:javascript
复制
nameserver 127.0.0.53
#nameserver 8.8.8.8
#nameserver 8.8.4.4 

在此更改之后,apt-key就可以工作了。希望这能有所帮助。

票数 3
EN

Stack Overflow用户

发布于 2018-08-28 20:26:10

在官方SBT文档中有this note

证书说明:有关于使用Ubuntu的SSL错误的报告:服务器访问错误: java.lang.RuntimeException:意外错误: trustAnchors参数必须是非空的url=证书,这显然源于OpenJDK 9使用PKCS12格式的/etc/ssl//java/cacerts cert-https://repo1.maven.org/maven2/org/scala-sbt/sbt/1.1.0/sbt-1.1.0.pom。根据https://stackoverflow.com/a/50103533/3827的说法,它在Ubuntu Cosmic (18.10)中得到了修复,但Ubuntu Bionic LTS (18.04)仍在等待发布。请参阅woraround的答案。

根据this的说法,这个问题已经在Ubuntu18.04.1中得到了解决。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51983144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档