在我的服务器上,我尝试获取密钥并执行命令
gpg --keyserver keyserver.ubuntu.com --recv-keys 1E9377A2BA9EF27F
Run Code Online (Sandbox Code Playgroud)
但我发现服务器不可用
gpg: keyserver receive failed: No keyserver available
Run Code Online (Sandbox Code Playgroud)
但是当我在本地计算机上执行相同操作时,一切正常。密钥已导入。请帮助我,服务器上的 dns 和我本地计算机上的 dns 是相同的。服务器 2.2.4 Ubuntu 18.04 上本地 2.2.12 上 gpg 和 dirmngr 版本的差异
这对我有用
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 34893610CEAA9512
Run Code Online (Sandbox Code Playgroud)
你可以使用脚本
#!/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}"
apt-key adv --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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16280 次 |
| 最近记录: |