我正在使用以下命令
gpg --keyserver hkp://pool.sks-keyservers.net --send-keys <MY-8-DIGIT-SIGNATURE>
按照本文的指导https://getstream.io/blog/publishing-libraries-to-mavencentral-2021/
但是,当我尝试时,它会报告
gpg: sending key <MY-16-DIGIT-SIGNATURE> to hkp://pool.sks-keyservers.net
gpg: keyserver send failed: No keyserver available
gpg: keyserver send failed: No keyserver available
我上面的命令有什么问题?
更新调查结果
这适用于 macOS Catalina、Intel Core i7 机器。
但它不适用于 macOS Big Sur、M1 ARM64 机器。
不确定是Big Sur还是M1 ARM64机器问题?
找到了解决该问题的方法。
首先我使用命令杀死
dirmngr
gpgconf --kill dirmngr
然后,我以
dirmngr
开始
--standard-resolver
dirmngr --debug-all --daemon --standard-resolver
最后,在另一个终端上,我运行
gpg --verbose --keyserver hkp://pool.sks-keyservers.net --recv-keys 0x0A292B5F8A3C247F586F19D7E1AF518CC4B1DC35
这给了我结果
gpg: key E1AF518CC4B1DC35: "Kristof (GPGTools) <[email blocked]>" not changed
gpg: Total number processed: 1
gpg: unchanged: 1
不确定为什么我需要
--standard-resolver
,但它适用于我的情况。
更新
找到了一种更好的方法,默认为 dirmngr 提供
standard-resolver
。只需将 standard-resolver
添加到 ~/.gnupg/dirmngr.conf
文件即可。
https://sks-keyservers.net/ "此服务已弃用。 这意味着不再维护该服务,并且不会颁发新的 HKPS 证书。不应期望服务可靠性。
2021 年 6 月 21 日更新: 由于更多 GDPR 删除请求,将不再提供池的 DNS 记录。”
2021-06-21更新:您可以使用替代服务器,例如:
像这样的东西:
gpg --keyserver keys.openpgp.org --send-key [key id]
我有类似的问题。它对我有用
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 34893610CEAA9512
您可以使用脚本
#!/bin/bash
declare -a keyservers=(
"hkp://keyserver.ubuntu.com:80"
"keyserver.ubuntu.com"
"ha.pool.sks-keyservers.net"
"hkp://ha.pool.sks-keyservers.net:80"
"p80.pool.sks-keyservers.net"
"hkp://p80.pool.sks-keyservers.net:80"
"pgp.mit.edu"
"hkp://pgp.mit.edu:80"
)
keys=$(apt update 2>&1 | grep -o '[0-9A-Z]\{16\}$')
for key in $keys; do
for server in "${keyservers[@]}"; do
echo "Fetching GPG key ${key} from ${server}"
gpg --keyserver $server --keyserver-options timeout=10 --recv-keys ${key}
if [ $? -eq 0 ]; then
echo "Key '${key}' successful added from server '${server}'"
break
else
echo "Failed add key '${key}' from server '${server}'. Try another server"
continue
fi
done
done
这有助于我将密钥发送到 OSSRH 中央服务器支持的 3 个密钥服务器:
我发现我没有安装gnupg2。使用这个命令解决了我的问题
sudo apt install gnupg2