Ubuntu18.04服务器执行gpg导入密钥报错No keyserver available如何解决
问题解决方法
根本原因
该问题由Ubuntu 18.04默认预装的GnuPG 2.2.4、dirmngr 2.2.4版本缺陷导致:老版本对HKPS(加密密钥服务器协议)的支持不完善,且dirmngr进程容易出现缓存僵死问题,无法正常连接密钥服务器;本地使用的2.2.12版本已修复上述缺陷,因此执行正常。
优先级从高到低的解决方案
- 方案1:指定使用80端口的HKP协议执行导入,规避协议兼容性与端口封禁问题,执行命令:
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 1E9377A2BA9EF27F - 方案2:清理僵死的dirmngr进程后重试,执行命令:
pkill dirmngr gpg --keyserver keyserver.ubuntu.com --recv-keys 1E9377A2BA9EF27F
- 方案3:从backports源升级GnuPG与dirmngr到兼容版本,执行命令:
sudo apt update sudo apt install -y gnupg2 dirmngr/bionic-backports
升级完成后再执行原始导入命令即可。
- 方案4:本地导出密钥后传到服务器导入,适用于服务器网络限制严格的场景:
- 本地设备执行导出命令:
gpg --export -a 1E9377A2BA9EF27F > public.key - 将导出的public.key文件传输到Ubuntu 18.04服务器
- 服务器上执行导入命令:
gpg --import public.key
- 本地设备执行导出命令:
内容的提问来源于stack exchange,提问作者lignumq
相关产品推荐
相关产品推荐

