最近Ubuntu 17.04をインストールしましたが、ppaを追加できません。
さまざまなキーサーバーを使用して手動でキーを追加しようとしましたが、すべての試行でキーサーバーがエラーを受信しました:
$ Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0F164EEB
受信したエラー:
Executing: /tmp/apt-key-gpghome.qm2WNA0lTK/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0F164EEB
gpg: keyserver receive failed: No keyserver available
$ Sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 0F164EEB
受信したエラー:
Executing: /tmp/apt-key-gpghome.O681PzEx7r/gpg.1.sh --keyserver keys.gnupg.net --recv-keys 0F164EEB
gpg: keyserver receive failed: Connection refused
他のキーも同様です。 PPAを追加できません。
コマンドライン、GPA、およびKGpgでgpgを使用すると、同じ「gpg keyserver connection refused」エラーが発生しました。 Debian SIDでgnupg 2.1.18-8を使用しています。次のようにdirmngrでデバッグを有効にしました。
Sudo pkill dirmngr; dirmngr --debug-all --daemon --standard-resolver
コンソールのデバッグ出力は、Tor接続の欠如について不平を言っていました。 「use-tor」が$HOME/.gnupg/dirmngr
で有効になっていることがわかりました。 (ありがとう、gpgconf!)私はコメントアウトして空のdirmngr.conf
を残しました。これでキーサーバー通信は正常に動作します。
これは、DNS解決の設定に問題があるときにも起こりました。 /etc/resolv.conf
にリストされているネームサーバーがあることを確認します(また、別のネームサーバーを試します)。 systemd-resolved
を使用している場合は、/etc/resolv.conf
が/run/systemd/resolve/resolv.conf
へのシンボリックリンクであることを確認してください。
このエラーは、gpg
を介してtor
キーを取得し、tor
がnot実行している場合にも発生する可能性があります。
システムログに次の内容が表示されます。
command 'KS_GET' failed: No keyserver available
~/.gnupg/dirmngr.conf
に設定されたtor
を介してキーを取得するには:
# https://gnupg.org/blog/20151224-gnupg-in-november-and-december.html
use-tor
keyserver hkp://jirk5u4osbsr34t5.onion
# https://sks-keyservers.net/overview-of-pools.php#pool_hkps
hkp-cacert /etc/ssl/CA/sks-keyservers.netCA.pem
原因の1つは確かにプロキシの問題です プロキシの後ろにapt-keyを使用してgpgキーを追加できません
次のコマンドを使用する必要があります。
$ Sudo apt-key adv --keyserver hkps://keyserver.ubuntu.com:443 --keyserver-options http-proxy=http://myproxy:3128 --recv-keys 0F164EEB
...またはcurl + apt-keyの組み合わせ
解決策(?):Parrot Security 3.6で同じ「キーサーバーが利用できません」というエラーが発生する。
GPA v0.9.10(Gnuプライバシーアシスタント)を使用。
機能する場合、「キーマネージャ」一覧にエントリがあります。そこから検証プロセスを続けることができました。
参考までに、私は同じ問題に遭遇しました:
gpg: keyserver receive failed: Connection refused
俺の resolv.conf
含まれる:
nameserver 127.0.0.1
nameserver XXX.XXX.XXX.XXX
search XXX.XXX
そして不変でした:
$ lsattr /etc/resolv.conf
----i---------e---- /etc/resolv.conf
さらに、ループバックネットワークインターフェイス(127.0.0.1)にバインドされたDNSサーバーがありませんでした。
だから、このコマンドを実行しようとしたとき
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXXXXXXXX
apt-key
は、存在せず失敗した最初のネームサーバーのみを使用しました。
私は不変性を削除しました:
Sudo chattr -i /etc/resolv.conf
最初のネームサーバーを変更して、機能しているネームサーバーを指すようにしました。
そして私は不変性を元に戻しました:
Sudo chattr -i /etc/resolv.conf
そして最後に apt-key
機能しました。