我不确定这是否是一个 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。这样的密钥服务器之一是 hkp://keyserver.ubuntu.com: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
按预期使用该命令。