我不確定這是否是一個 Linux 問題…我使用 Arch Linux,它使用套件簽署。這需要我隨程式下載一組 pgp 金鑰pacman-key
。這可以解決可能更通用的gpg
程序。如果我能gpg
上班,我想我就能pacman-key
上班。我收到的錯誤表明我後面的防火牆正在阻止連接埠(或我的代理中的某些內容未正確設定)。我位於一個相當嚴格的大學防火牆和代理後面,但是 ssh、ftp 和 http 等端口是開放的並且可以工作,但端口 11371 似乎已關閉。
為了調試我的問題,我嘗試去http://pgp.mit.edu/,效果很好。當我嘗試下載金鑰時,我被重定向到http://pgp.mit.edu:11371/進而
HTTP Error Status: 403 Forbidden
Error Reason: Forbidden port
我想我正在尋找一個 pgp 金鑰伺服器,它使用的連接埠可能已經在防火牆中開啟。是否有一個不同的密鑰伺服器可以在更“通用”的連接埠上使用?
答案1
事實上,有一些金鑰伺服器偵聽連接埠 80。
事實上,在幕後pacman-key
使用。gpg
您可能嘗試過將--keyserver
參數傳遞給 來指定金鑰伺服器pacman-key
。這對我不起作用。
您可能嘗試過透過建立或變更~/.gnupg/gpg.conf
.這對我不起作用。
原來這pacman-key
是 bash shell 腳本。當它呼叫時gpg
,它指定一個配置目錄。在我的系統上,這是/etc/pacman.d/gnupg
.
刪除或註解掉中現有的keyserver
和行。新增這些行:keyserver-options
/etc/pacman.d/gnupg/gpg.conf
keyserver hkp://keyserver.ubuntu.com:80
keyserver-options verbose timeout=10
筆記:
- 您不必使用特定的金鑰伺服器,有不只一個金鑰伺服器,它們都包含與 Arch Linux 相關的金鑰,並偵聽連接埠 80 或防火牆未封鎖的其他連接埠。
- 在 Arch Linux 上直接編輯系統範圍的設定檔是可以接受的——他們對這類事情有不同的理念。
您現在應該能夠pacman-key
按預期使用該命令。