無法在代理後面使用 apt-key 添加 gpg 密鑰
apt-key
自從我切換到 Ubuntu 17.04 後,通過系統添加 gpg 密鑰失敗(我懷疑它是否直接相關)。Spotify 的 repo 密鑰範例:$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys BBEBDCB318AD50EC6865090613B00F1FD2C19886 Executing: /tmp/apt-key-gpghome.wRE6z9GBF8/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys BBEBDCB318AD50EC6865090613B00F1FD2C19886 gpg: keyserver receive failed: No keyserver available
如果我刪除
hkp://
前綴也是一樣的。背景:我使用CNTLM來處理本地公司代理。設置環境變數(in
/etc/environment
):$ env | grep 3128 https_proxy=http://localhost:3128 http_proxy=http://localhost:3128 ftp_proxy=http://localhost:3128
/etc/apt/apt.conf
已配置(apt
命令工作正常):$ cat /etc/apt/apt.conf Acquire::http::Proxy "http://localhost:3128"; Acquire::https::Proxy "http://localhost:3128"; Acquire::ftp::Proxy "http://localhost:3128";
最後,指定的密鑰伺服器似乎可以訪問:
$ curl keyserver.ubuntu.com:80 <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>SKS OpenPGP Public Key Server</title> </head> <body> [...]
我能做些什麼 ?我什至不確定如何進一步調試它……
我已經嘗試做的事情,沒有任何結果:
sudo
使用-E
(preserve env) 選項執行apt-key adv
使用--keyserver-options http-proxy=http://localhost:3128/
選項執行( source)$ gpg --list-keys
出於某種原因執行(來源)- 使用另一個密鑰伺服器 (
--keyserver pgp.mit.edu
)- 刪除
hkp://
部分 (--keyserver keyserver.ubuntu.com:80
)奇怪的是,我在
/var/log/syslog
執行時從未看到任何“cntlm”條目apt-key
。
您通常有 ftp、http 和 https 的代理;我在那裡看到 hkp:// 作為 URL;所以它不應該通過純 http 代理來引導,因此通信失敗。
改用這個:
sudo apt-key adv --keyserver keyserver.ubuntu.com --keyserver-options http-proxy=http://localhost:3128 --recv-keys BBEBDCB318AD50EC6865090613B00F1FD2C19886
至於系統更新,我建議使用 APT 代理,例如
apt-cacher-ng
.另一種方法是使用瀏覽器在公共 Web 界面中搜尋,例如在您的工作站上在https://keyserver.ubuntu.com上搜尋您想要的密鑰
打開網站,你會得到一個表格。在這種情況下,我使用了“搜尋字元串”“Spotify”;然後選擇“搜尋”;它將列出幾個鍵。
搜尋您在結果頁面中提到的簽名/指紋:
pub 4096R/D2C19886 2015-05-28 Fingerprint=BBEB DCB3 18AD 50EC 6865 0906 13B0 0F1F D2C1 9886 uid Spotify Public Repository Signing Key <operations@spotify.com> sig sig3 D2C19886 2015-05-29 __________ 2017-11-22 [selfsig] sig sig 94558F59 2015-06-02 __________ __________ Spotify Public Repository Signing Key <operations@spotify.com>
我們看到這是我們感興趣的條目。
因此,我們點擊 D2C19886 並在https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x13B00F1FD2C19886處看到一個帶有密鑰的頁面。
Public Key Server -- Get "0x13b00f1fd2c19886 " -----BEGIN PGP PUBLIC KEY BLOCK----- Version: SKS 1.1.6 Comment: Hostname: keyserver.ubuntu.com mQINBFVm7dMBEADGcdfhx/pjGtiVhsyXH4r8TrFgsGyHEsOWaYeU2JL1tEi+YI1qjpExb2Te TReDTiGEFFMWgPTS0y5HQGm+2P3XGv0pShvgg9A6FWZmZmT+tymA2zvNrdpmKdhScZ52StPL Fz9wsmXHG4DIKVuzgzuV4YxJ1i2wFtoVp8zT9ORu1BxLZ0IBwTvLRbaQGZ8DwXVAHak9cK91 Ujj6gJ1MJPohZLHH2BjrOjEl/I36jFUjK0AadznNzo08lLAi94qjtheJtuJD3IEOAlCkaknz 6vbEFpszLGlLD7GENMzJk46ObuJuvW5R2PkOU2U8jS0GaUD9Ou/SIdJ6vIdvjSs/ettc2wwd nbSdadvjovIfvEBRsEVMpRG+42B+DZpJbS9pCb8sxTJtnUy1YViZmG0++FhPGGPGzQYhC/Mz 07lsx5PkC7Kka2FCNmhauxw5deO43Ck181oQVdbt/VxmChzchUJ6N6/uOV5JKm7B9UnDNyqU Yv6goeLvFnT9ag+FCxiroTrq+dINr6d+XT/cI9WtSagfmhcekwhyfcCgYsFemAOckRifjEGF MksQlnWkGwWNoKe91KBxjgaJaazSbZRk0dFPSSmfKWaxuTwkR74pbaueyijnQJgHAjfCyzQe 9miN9DitON5l6T2gVAN3Jn1QQmV7tt5GB7amcHf5/b0oYmmRPQARAQABtD5TcG90aWZ5IFB1 YmxpYyBSZXBvc2l0b3J5IFNpZ25pbmcgS2V5IDxvcGVyYXRpb25zQHNwb3RpZnkuY29tPokB HAQQAQIABgUCVW3SWAAKCRAILM7flFWPWUk5B/wOqqD9/2Do9PyPucfUs/rrP4+M8iJLpv8U +bX/qHryTTWfpk3YuKL4+c8saHySK4HLGyxd3mdo1XMF351KrxLQvWMSSPbIRV9cSqZROOVn 2ya+3xpWk6t1omLzxtBBMOC4B5qAfWhog7ioAmzQNY5NUz5mqXVP5WbgR/G+GOszzuQUgeu1 Xxxzir3JqWQ0g8mp3EtX7dB76zxkkuTYbeVDPOvtJPn/38d3oSLUI1QJnL8pjREHeE8fO5mW ncJmyZNhkYd+rfnPk+W0ZkTr59QBIEOGMTmATtNh+x1mo5e2dW91Oj4jEWipMUouLGqbo/gJ uHFMt8RWBmy+zFYUEPYHiQI+BBMBAgAoAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAUC VWg3sAUJBK3QLQAKCRATsA8f0sGYhl6hEACJ1CrYjaflKKR2Znuh0g0gM89NAwO8AA4+SpkW HagdGLo7OV/rGB3mlwD4mhaa8CbEnBT/za3jFnT19KsYQWiT21oOX/eo47ITbAspjDZTiXLi nyAcOJn+q/EFkelROzbVaxZHi6SN5kCEd8KAew8h2jZf8wWqaYVyMPNSqotUhin6YjWsu57B GixVThoMmxx3udsGAiYqt8buAANWbkUphrvtJuNCKkGym7psnS4Q5EnHPfvbYii9iAfBswX6 nZQlehva7aToN73elYL3opCArAxKAFx70bpGxb7T16KjKzkKS0a4iQ7xdbBGylb+AE/RhICa +RM5tma2YnB3pZvFM/n0BNeYReCgvxkl1rqrB1KxmFHfGqjLkb2YAZ5RYnP3gEt+nbEWxL8F O0Bhakn1RB3NqTC2oiQAUfh+66yUawUNkHRHlGAEzZAxvpfnf0hSJp734lyQZJs+zqXUAXa2 UmEZ6se62PgZRQIz5IbAVxSiGz4xIZs1yS36N2vZ34LFJa9o/HVk5OfpqZM0zjWwQIQN2b4O BizL5r4h2Mi5BHUEyYMsDZn+txoJjPPYLolRlf31sqi5MJE+cbOAXSn8PC9k4i+hrbfqFzts 47+6xgCH3aXbhUkJh1CH/0/qEXfTPYTyayijm4rdvSBczzEORWGT5E38oV9h1eUqp4nVPg== =/qip -----END PGP PUBLIC KEY BLOCK-----
您在以“—–BEGIN”開頭的行和以“—–END”結尾的行(包括這些行)之間進行剪切,然後粘貼到文件中,例如
spotify.pgp
在要導入的目標伺服器上鑰匙。(不要從這裡剪掉它,因為我在格式化時在每行之前添加了 4 個空格)最後將密鑰導入您所做的伺服器:
$sudo apt-key add spotify.pgp OK