aptキーのブロックされた送信hkpポートを回避する方法


35

Ubuntu 9.10を使用していますが、いくつかのaptリポジトリを追加する必要があります。残念ながら、実行するとsudo apt-get update次のようなメッセージが表示されます。

W: GPG error: http://ppa.launchpad.net karmic Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5A9BF3BB4E5E17B5
W: GPG error: http://ppa.launchpad.net karmic Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1DABDBB4CEC06767

そのため、これらのリポジトリのキーをインストールする必要があります。9.10では、これを行うオプションがあります。

sudo add-apt-repository ppa:nvidia-vdpau/ppa

詳細については、このUbuntuヘルプ記事を参照してください。

これは、WindowsとIEを実行している秘書が必要とするポートを除くほとんどすべてのポートへのアウトバウンド接続をブロックするファイアウォールの背後にあるワークステーションで実行していることを除いて、素晴らしいです。

ここで問題になっているポートは、hkpサービスのポート11371です。

キーを手動でダウンロードしてaptのキーリングにインストールする方法があるようです。add-apt-repositoryやwgetなどを使用して、代替サーバーからキーをダウンロードし、ポート80で使用できるようにする方法もあります。

しかし、そうするための簡潔な一連の手順はまだ見つかりませんでした。私が探しているのは:

  1. apt-packageの公開鍵を見つける方法(これらを持つリソースの推奨、および/または検索のヒント。これまでのところ、鍵ハッシュの検索はそれほど効果的ではないようです。)
  2. キーを取得する方法(gpgまたはadd-apt-repositoryを使用して自動的に実行できますか?)
  3. aptのキーリングにキーを追加する方法

前もって感謝します。

回答:


38

これは、次のUbuntuのNattyバージョンで修正されていますhttps : //launchpad.net/ubuntu/natty/+source/software-properties/0.78.1

古いバージョンを使用している場合は、ppa.pyを編集する必要があります。

sudo gedit /usr/lib/python2.6/dist-packages/softwareproperties/ppa.py

それが言うところ:

keyserver.ubuntu.com

への変更:

hkp://keyserver.ubuntu.com:80

保存して終了すると、うまくいけばうまくいきます。


1
素晴らしい-私の問題を解決しました!
フェデアーン

14
10.10では、このソースファイルを編集するのではなく、私は単純に呼び出すことができますsudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys KEY_HASH
l0b0

hkp://keyserver.ubuntu.com:8010.04でも動作します。
bd808

1
+1--keyserver hkp://keyserver.ubuntu.com:80
rogeriolino

19
sudo apt-key adv --keyserver keyserver.ubuntu.com --keyserver-options http-proxy=http://proxy:port --recv-keys KEYID

13

私が使用した1つの回避策は次のとおりです。

私は、企業のファイアウォールを越えた自由な世界でLinuxサーバーにログオンし、これを行いました。

gpg --keyserver keyserver.ubuntu.com --recv 1DABDBB4CEC06767 && gpg --export --armor 1DABDBB4CEC06767

次に、ワークステーションでこれを実行し、上記のコマンドからの出力(公開キー)をstdinに貼り付けてから、control-Dを続けました。

sudo apt-key add -

その後、sudo apt-get update問題なく実行できました。

私はまだ、より良い方法、理想的にはスクリプトを作成できるものが必要だと考えています。


「私は自由な世界でlinuxサーバーにログオンしました」 hkpがブロックされた場合でもこれを行うことができるとは考えられません。
gertvdijk

^たぶん、あなたは抑圧的な政権に住んでいて、ビザンチンのIT部門ではないと仮定します。VPNを使用しているときはどこでもSSHできますが、DNSパケットはありません(明らかにHKPもありません)。これがまさに必要なことです。
キングドン

8

ここに別の回避策があります。これは、プロキシとしてネットワークの外側に別のLinuxサーバーが見つからない場合に便利です。「get 0x1DABDBB4CEC06767」などの件名のように、「pgp-public-keys@pgp.mit.edu」にメールを送信するだけです。ただし、おそらくこれを自動化する簡単なスクリプトを記述することはできません。


5

http://wwwkeys.eu.pgp.net/などのキーサーバーのWebサイトにアクセス できます(キー署名(16進署名に0xを追加する必要があります)、つまり0x1DABDBB4CEC06767を検索します。

うまくいけばリンクをクリックして、テキストをマシン上のファイルに貼り付けてください。

cat > <filename>

[PASTE]

[Ctrl-C]

それから

apt-key add <filename>

これは私にとってはうまくいきました。仕事用プロキシが多くの「非標準」ポートをブロックしているようです。


これは私のために働いた唯一の方法です。プロキシがhkpプロトコルを大幅にブロックしているため、ポート80を使用してもgpgがサーバーへの接続をタイムアウトします。これでようやくキーを追加できました。
アレクサンダーアメルキン

4

wwwトラフィック用に常に開いているポート80を介した単一のコマンドでそれを行うきちんとした方法を見つけました。

http://gurrier.wordpress.com/2010/10/02/downlolading-repo-keys-from-behind-a-corporate-firewall/


2
apt-キーADV --keyserver HKP://keyserver.ubuntu.com:80 --recv-キー...
vorburger

1
こんにちは、スーパーユーザーへようこそ。質問に回答するときは、回答自体に解決策を記載して質問に回答してください。参照したサイトがサイトを維持し、ダウンした場合、回答が無価値になるという保証はありません。
モグ

2

簡単な解決策は次のとおりです。

sudo add-apt-repository --keyserver hkps://keyserver.ubuntu.com:443 some_ppa

セキュアhttps(発信443)は、ファイアウォールによってブロックされません。


1

単純にsshを使用してポートを外部ホストに転送し、apt-add-repoコマンドを実行します。

ssh -fqTnN -D 11371 <user@host>

-1

私はgpgでも同じ問題を抱えていました。ポートをサーバー名に追加する回避策は、~/.gnupg/gpg.confファイルを編集することで機能しました。ただし、システム管理者にアウトバウンドポート11371を開くように依頼するので、これについて再度心配する必要はありません。


ポート?構成でポート(11371)を指定すると、ファイアウォールをどのように回避できますか?
0xC0000022L
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.