取得鑰匙,第 1 部分

取得鑰匙,第 1 部分

當我下載更新或安裝新軟體時,我收到這些警告,提示我沒有公鑰。這只是有一天出現的,我沒有刪除/添加一些東西來創建它。

發布:由於公鑰不可用,無法驗證以下簽章:NO_PUBKEY 16126D3A3E5C1192

我已經嘗試過:sudo apt-key update它對某些鍵有效,但其他鍵仍然丟失,我需要添加它們。

我需要幫助添加新密鑰和所有密鑰的地址。那些不在 Ubuntu 和啟動板中的。

答案1

取得鑰匙,第 1 部分

該程式addgpg-apt- 這是我的 - 僅當密鑰位於 Ubuntu 密鑰伺服器上時才有效,除非您特別指定您嘗試從哪個密鑰伺服器獲取密鑰。它不會存取互聯網並查找 PGP 金鑰所在的金鑰伺服器。

使用以下命令:

sudo apt-get update | grep "NO_PUBKEY" | awk '{ system("addgpg-apt "$21) }'

將系統地檢查每一行輸出並將每個鍵傳送到addgpg-apt程式。addgpg-apt將嘗試從 Ubuntu 金鑰伺服器取得金鑰。

對於 ubuntu.com 或 launchpad.net 項目,它可以正常運作。對於其他 GPG 金鑰伺服器的金鑰,您需要在各自的金鑰伺服器中找到這些金鑰的位置,然後addgpg-apt--keyserver每個金鑰一起使用:

addgpg-apt --keyserver <keyserver> <keyid>

然後,它將獲取密鑰並將它們放入您的 APT 密鑰環中。

addgpg-apt計劃是可透過 PPA 獲取

如果第一個命令失敗,試試這個:

sudo apt-get update | grep "NO_PUBKEY" | awk '{ print $21) }' | xargs addgpg-apt

這將執行與上面相同的操作,只是操作不同。

取得鑰匙,第 2 部分

我建議檢查網站上其他非 Ubuntu 和非 Launchpad 儲存庫的 PGP 金鑰,因為它們很可能會列在那裡。找到每一個後,您可以運行它addgpg-apt --keyserver <keyserver> <keyid>,它將從這些儲存庫的密鑰伺服器下載。

答案2

嘗試這個:

sudo apt-key adv --recv-key --keyserver keyserver.ubuntu.com 16126D3A3E5C1192

其中「16126D3A3E5C1192」是失敗的密鑰

或者

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install launchpad-getkeys

安裝後,要匯入 PPA 的所有缺少的 GPG 金鑰,只需使用以下命令:

sudo launchpad-getkeys

相關內容