问题现象重现
在Debian/Ubuntu系统中添加Tor项目仓库后,执行以下命令时出现错误:
gpg --keyserver keys.gnupg.net --recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89
终端返回:
gpg: keyserver receive failed: Server indicated a failure
常见触发场景
这个问题通常出现在以下情况:
- 国内网络访问国际密钥服务器不稳定
- GPG密钥服务器已迁移或停止服务
- 防火墙或网络策略限制
- 密钥指纹格式不匹配
实用解决方案
方案1:更换国内镜像服务器
gpg --keyserver hkp://keyserver.ubuntu.com --recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89
方案2:使用备用协议
gpg --keyserver hkps://keys.openpgp.org --recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89
方案3:通过代理访问
export http_proxy=http://127.0.0.1:1080
export https_proxy=http://127.0.0.1:1080
gpg --keyserver hkp://pool.sks-keyservers.net --recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89
深度排查方法
如果上述方法无效,可以尝试:
gpg --keyserver-options debug --keyserver hkp://keys.gnupg.net --recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89
查看详细调试信息,常见错误包括:
gpg: sending key A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 to hkp://keys.gnupg.net
gpg: keyserver internal error
替代方案
如果密钥服务器持续不可用,可以直接从项目网站导入:
curl -s https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --import
验证密钥是否导入成功
gpg --list-keys A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89
预期输出应包含:
pub rsa4096 2014-12-15 [SC]
A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89
uid [ unknown] Tor Browser Developers (signing key)