gpg --receive-keys はタイムアウトしますが、Wireshark は http 応答が受信されたことを確認します

gpg --receive-keys はタイムアウトしますが、Wireshark は http 応答が受信されたことを確認します

Ubuntu 14.04 を実行している仮想マシンを使用しており、apt-keys を使用して nginx のキーを追加しようとしています。

このほとんどは Puppet によって自動的に行われますが、どこに障害があるかを見つけるために手動でプロセスを実行しています。

マシンは企業プロキシの背後にあるため、すべてのトラフィックは cntlm 経由でルーティングされます。これは正常に動作し、これまでのところ問題はほとんどありません。

失敗するコマンドは次のようになります。

gpg --debug-all -v --ignore-time-conflict --no-options --no-default-keyring --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62

その結果は次のようになります:

gpg: requesting key 7BD9... from hkp server keyserver.ubuntu.com gpg: keyserver timed out gpg: keyserver recieve failed: keyserver error

Wiresharkを使用すると、実際に行われたHTTPリクエストは次のようになります。

http://keyserver.ubuntu.com:80/pks/lookup?op=get&options=mr&search=0x573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62

同じ URL に対して wget を使用すると、必要なキーが即座にダウンロードされます (タイムアウトや障害はありません)

Wireshark ログを見ると、リクエストと応答はまったく同じに見えます。どちらの場合も、送信される HTTP GET と受信される 200 OK があり、これはいずれもプロキシ後のものです。

この問題をさらに深く調べる方法がわかりません。この問題を追跡するために正しい方向に導いていただけると幸いです。

関連情報