解決 Linux mint 與 Ubuntu 更新時出現 GPG error 無法取得公鑰,以下簽章無法進行驗證的問題

修正 Linux 抓不到公鑰GPG error錯誤的問題




Linux 使用者在進行軟體或系統更新時,常會跳出奇怪的公鑰驗證問題,例如:

GPG error: http://ppa.launchpad.net/gezakovacs/ppa/ubuntu focal InRelease:
由於無法取得它們的公鑰,以下簽章無法進行驗證: NO_PUBKEY xxxxxxxxxxxxxxxx 
The repository 'http://ppa.launchpad.net/gezakovacs/ppa/ubuntu 
focal InRelease' is not signed. sudo apt-key adv 
--keyserver keyserver.ubuntu.com --recv-keys xxxxxxxxxxxxxxxx


這個問題雖然不至於造成系統崩潰,但每次更新時一直跳出這個錯誤視窗還是很惱人。


翠習

 

解決方法也很簡單,就是將錯誤訊息中的公鑰號碼複製後,於終端機中輸入以下指令即可。

 

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys xxxxxxxxxxxxxxxx

 

之後就能在軟體來源 > 認證金鑰中看到這把公鑰,且更新時也不會跳出錯誤了。


需要公鑰的原因

了解 PGP 加密原理的讀者應該都知道,公鑰是用來加密內容的鑰匙,那為什麼作為資訊接收方的使用者會需要在系統中匯入軟體發佈商的公鑰?


因為,這把公鑰是用來驗證 (Verify) 傳遞者身份的關鍵工具。


例如流浪貓於這篇 OpenPGP 教學提到,在無法信任郵差和電子信箱服務供應商的前提之下,雙方需要一套機制來驗證寄件者的真實身份。


因此公鑰就成了驗證軟體或系統更新時,證明伺服器傳過來的資料是軟體發佈者身份的工具。




 

延伸閱讀

更多 Linux

更多 Linux 辦公室戰技

 

 

 

留言