gpg: keyserver send failed: No route to host
问题
笔者使用MacOS向Maven中心仓库提交jar包时,需要gpg签署。
因文件需要远程校验,需将公钥传之密钥服务器,命令如下:
1 | gpg --keyserver keys.gnupg.net --sent-keys BEXXXXXXXX.... |
该命令返回:
1 | gpg: keyserver send failed: No route to host |
笔者踩了此坑,查了google,github的解决方法都不行,
因此在此分享自己的思考和解决方案。
解决方案1
报错信息是No route to host,而且笔者在相同网络的另一台windows电脑是没问题的,因此考虑是域名解析的问题。
既然是域名解析问题,那就是DNS问题。因此笔者确认了Macbook网络的DNS,果然是空的。
添加DNS 8.8.8.8后即可正常上传。
附国内可用的keyserver列表
1 | keyserver.ubuntu.com |
解决方案2
既然命令行上传不了,那就打开密钥服务器的网页,在网页端提交:
比如浏览器打开https://keyserver.ubuntu.com
1 | gpg -a -o public.key --export BEXXXXXXXX.... |
总结
可能gpg的域名解析直接依赖于设置里的DNS服务器,但是MacOS的DNS设置默认是空的,所以导致域名解析失败。
设置里添加DNS服务器即可解决此问题。
本分享所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Vayne的技术分享!