web-dev-qa-db-ja.com

GPGエラー「NO_PUBKEY」を修正するにはどうすればよいですか?

Software Sourcesプログラムにいくつかの追加リポジトリを追加しました。しかし、パッケージデータベースをリロードすると、次のようなエラーが表示されます。

W:GPGエラー: http://ppa.launchpad.net trusty InRelease:公開キーが利用できないため、次の署名を検証できませんでした:NO_PUBKEY 8BAF9A6F

Ubuntuの公式ドキュメントによると、ターミナルでapt-keyを使用して修正できることはわかっています。しかし、私はグラフィカルにそれをしたかったでしょう。端末を使用せずにこれを行う方法はありますか?

356
Agmenor

現在、これを処理する最も簡単な方法は、Y-PPA-Managerを使用することです(Y-PPA-Managerはlaunchpad-getkeysスクリプトをグラフィカルインターフェイスと統合します)。

  1. それをインストールするには、まずこのプログラムのwebupd8リポジトリを追加します。

    Sudo add-apt-repository ppa:webupd8team/y-ppa-manager
    
  2. ソフトウェアリストを更新し、Y-PPA-Managerをインストールします。

    Sudo apt-get update
    Sudo apt-get install y-ppa-manager
    
  3. Y-ppa-managerを実行します(つまり、y-ppa-managerと入力してEnterキーを押します)。

  4. Y-ppa-managerのメインウィンドウが表示されたら、[詳細設定]をクリックします。

  5. 高度なタスクのリストから「不足しているすべてのGPGキーをインポートしてみてください」を選択し、「OK」をクリックします。

    完了です!操作を開始すると警告ダイアログに表示されるように、使用しているPPAの数と接続の速度によっては、かなり時間がかかる場合があります(私にとっては約2分)。

207
monotasker

ターミナルで次のコマンドを実行します

Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <PUBKEY>

ここで、<PUBKEY>は、リポジトリの不足している公開キーです。 8BAF9A6F

その後、更新

Sudo apt-get update

代替方法:

Sudo gpg --keyserver pgpkeys.mit.edu --recv-key  <PUBKEY>
Sudo gpg -a --export <PUBKEY> | Sudo apt-key add -
Sudo apt-get update

apt-keyを使用してこのようなキーをインポートする場合、システムが使用するソフトウェアに署名するためにインポートするキーを信頼することをシステムに伝えていることに注意してください。キーが実際にパッケージディストリビューターのキーであることが確実でない限り、これを行わないでください。

535
karthick87

リポジトリに適した公開鍵がない場合に発生します。

この問題を解決するには、次のコマンドを使用します。

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 9BDB3D89CE49EC21

これは、ubuntuキーサーバーからキーを取得します。そして、これ:

gpg --export --armor 9BDB3D89CE49EC21 | Sudo apt-key add -

apt信頼キーにキーを追加します。

解決策は hereherehere にあります。

43
Pedram

キーを取得してインポートする必要があります。

PPAからキーを取得するには、PPAのLaunchpadページにアクセスしてください。 LaunchpadのすべてのPPAページには、「このPPAに関する技術的な詳細」(1)をクリックした後、このリンク(2)があります。

image 1

それに従って、キーIDリンク(3)をクリックします。

image 2

ページを保存します。これはキーファイルです。


それをインポートする時が来ました:

  • Applications > Software Center
  • Edit > Software sources...
  • パスワードを入力してください、
  • Authenticationタブに移動し、Import Key File...をクリックして、最後に
  • 保存されたキーファイルを選択し、OKをクリックします。
34
htorque

aptは/etc/apt/trusted.gpg.d内の40個のキーしか処理できません。 41個のキーがあり、すべての手順を実行して不足しているキーを追加しても、GPGエラー「公開キーが見つかりません」が表示されます。

使用しなくなったppa(s)のこのファイルに未使用のキーがあるかどうかを確認します。すべてを使用している場合は、/ etc/apt/trusted.gpg.d内の対応するキーファイルとともにいくつかのppaを削除することを検討してください

さらに、

Sudo apt-key adv

セキュリティリスクと見なされ、推奨されませんあなたは「さまざまな理由でキーを受け取る安全な方法ではないため、セキュリティコンセプト全体を弱体化しています(hkpはプレーンテキストプロトコルであり、長いキーIDでさえ偽造できる…) "。 http://ubuntuforums.org/showthread.php?t=2195579

不足しているキー(1ABC2D34EF56GH78など)を追加する正しい方法は

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 1ABC2D34EF56GH78
gpg --export --armor 1ABC2D34EF56GH78 | Sudo apt-key add -
12
mchid

WebUpd8 PPAにパッケージ化された小さなスクリプトがあり、これを単一の.debダウンロードとしてリンクするため、PPA全体を追加する必要はありません。これにより、欠落しているすべてのGPGキーが自動的にインポートされます。

Launchpad-getkeys をダウンロードしてインストールします(バージョンの〜nattyは無視してください。KarmicからOneiricまでのすべてのUbuntuバージョンで動作します)。インストールしたら、ターミナルを開いて次を入力します。

Sudo launchpad-getkeys

プロキシの背後にいる場合、状況はもう少し複雑なので、詳細については this を参照してください

9
Alin Andrei

Herokuのインストール中に同じ問題に直面しました。以下のリンクは私の問題を解決しました-

http://naveenubuntu.blogspot.in/2011/08/fixing-gpg-keys-in-ubuntu.html

NO_PUBKEYの問題を修正した後、以下の問題が残りました

W: GPG error: xhttp://toolbelt.heroku.com ./ Release: The following signatures were invalid: BADSIG C927EBE00F1B0520 Heroku Release Engineering <[email protected]>

修正するには、ターミナルで次のコマンドを実行しました。

Sudo -i  
apt-get clean  
cd /var/lib/apt  
mv lists lists.old  
mkdir -p lists/partial  
apt-get clean  
apt-get update  

ソース- それを解決するためのリンク

5
dennyac

apt-transport-httpsがインストールされていることを確認してください:

dpkg -s apt-transport-https > /dev/null || bash -c "Sudo apt-get update; 
Sudo apt-get install apt-transport-https -y" 

リポジトリを追加:

curl https://repo.skype.com/data/SKYPE-GPG-KEY | Sudo apt-key add - 
echo "deb [Arch=AMD64] https://repo.skype.com/deb stable main" | Sudo tee /etc/apt/sources.list.d/skype-stable.list 

Linux用Skypeをインストールします。

Sudo apt-get update 
Sudo apt-get install skypeforlinux -y

ソース: https://community.skype.com/t5/Linux/Skype-for-Linux-Beta-signatures-couldn-t-be-verified-because-the/td-p/4645756

4
Eduardo Cuomo

より一般的には、次の方法がすべてのリポジトリで機能するはずです。まず、検索エンジンの助けを借りて、次のようなプログラムプロバイダーのWebサイトのテキストを検索します。

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.1 (GNU/Linux)
[...]
-----END PGP PUBLIC KEY BLOCK-----

このようなテキストは、たとえば http://deb.opera.com に表示されます。パッセージをコピーし、デスクトップに作成した空のファイルに貼り付けます。これにより、キーファイルが作成されます。

次に、キーのインポートを続行します。

  • アプリケーション>ソフトウェアセンター
  • 編集>ソフトウェアのソース...、パスワードを入力
  • [認証]タブで、[キーファイルのインポート...]をクリックします。
  • 保存されたキーファイルを選択し、[OK]をクリックします。

これで、以前に作成したキーファイルを削除できます。

3
Agmenor

良い!最後に道を見つけました!

GPGエラーNO_PUBKEYを修正するためにすべてのメソッドをテストしましたが、何も機能していません。

フォルダー/etc/apt/trusted.gpg.dの内容全体を削除しました

cd /etc/apt/trusted.gpg.d
Sudo rm -R *
Sudo apt-get update

そして、Y-PPA-Managerメソッドを使用します。これは、すべてのpubkeyを手動で作成するには遅すぎるためです(多すぎる): http: //www.unixmen.com/fix-w-gpg-error-no_pubkey-ubuntu/

再びSudo apt-get updateを実行し、最後にすべてがうまく動作するようになりました!戦車!

ベースのソース:ポスト#17 on https://bugs.launchpad.net/ubuntu/+source/apt/+bug/126354

3
NeurOSick

DynDNSのアップデータクライアントでも同じ問題が発生しました。

鍵の有効期限が切れていたことがわかりました。

ソフトウェアを再インストール(新しい.debをWebサイトからダウンロードし、Software Centerを使用して再インストール)することで問題が修正されました。

参照用のエラーメッセージ:

W: GPG error: http://cdn.dyn.com stable/ Release: The following signatures were invalid: KEYEXPIRED 141943.......
0
Cranky