CPGでプログラムをインストールするための公開鍵を追加しようとしています。しかし、私はこれにかなり新しいですが、私が見つけたすべてのコマンドは私に同じエラーを与えました:
gpg --keyserver keyserver.ubuntu.com --recv-keys 94558F59
gpg: requesting key 94558F59 from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error
どうしてこれが可能かというと、私はある種の封鎖の背後にいて、鍵サーバーへの接続を確立することを不可能にしているようです。私は多くのOPの質問を調べて、見つけることができるすべてのコマンドを試しましたが、何もうまくいきませんでした。誰かが以前にこの問題を抱えていましたか?
これは通常、ファイアウォールがポート11371
をブロックしていることが原因です。ファイアウォールのポートのブロックを解除できます。ファイアウォールにアクセスできない場合は、次のいずれかを実行できます。
80
ではなくポート11371
を使用するように強制します。
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 94558F59
あるいは
Sudo gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys SOMEKEY
これは私のために働きました:
Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv-keys AKEYXXX
プロキシの背後にGPG
キーを追加しようとしたときに同じ問題が発生しました。私の問題の解決策は --keyserver-options
in the command :
Sudo apt-key adv --keyserver-options http-proxy=http://USER:PASSWORD@PROXY_URL:PORT/ --keyserver keyserver.ubuntu.com --recv-keys GPG_KEY
別のサーバーからキーを取得してみてください(私のために働きました):
gpg --keyserver hkp://keys.gnupg.net --recv-keys 94558F59
または
gpg --keyserver hkp://pgp.mit.edu --recv-keys 94558F59
次のコマンドを実行して問題を修正しました。
Sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys *somekey*
これは、ubuntu 14.04イメージに対してansibleデプロイメントを実行している2つの同一のボックスの1つで見られます。実際、以前はapp-infra-1
で機能していましたが、ある時点で失敗し始めました。新しく作成されたapp-infra-2
で成功したという事実は、app-infra-1
の破損、またはapt-key adv
の検出とレポートのバグであることを示しています。
apt-key del
を使用してキーを削除しようとしましたが、引き続き同じエラーが発生します。
changed: [app-infra-2] => {"changed": true, "item": "", "repo": "ppa:webupd8team/Java", "state": "present"}
failed: [app-infra-1] => {"cmd": "apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 7B2C3B0889BF5709A105D03AC2518248EEA14886", "failed": true, "item": "", "rc": 2}
stderr: gpg: requesting key EEA14886 from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error
stdout: Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.2zqQuFdBjg --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d/puppetlabs-keyring.gpg --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 7B2C3B0889BF5709A105D03AC2518248EEA14886
msg: gpg: requesting key EEA14886 from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error
結局、それはvmなので、私の解決策はvagrant
でそれを再構築することでした。
私にとっては、ENVステートメントをdockerファイルに追加する必要がありました。例えば。
ENV http_proxy "http://[yourproxy]:[port]/"
ENV https_proxy "http://[yourproxy]:[port]/"