「apt-key(8)」-

  LINUX MANUAL PAGES

APT密钥管理程序

命令语法格式

apt-key [–keyring filename] { add filename | del keyid | export keyid | exportall | list | finger | adv | update | net-update }

命令描述

命令apt-key用于管理密钥列表,apt使用这些密钥来验证包。 使用这些密钥进行身份验证的软件包将被视为可信任。

请注意,如果需要使用apt-key,则需要额外安装GNU Privacy Guard套件(打包在gnupg中)。 仅仅因为这个原因,强烈建议不要使用程序化的用法(特别是在包维护者脚本中!)。 此外,所有命令的输出格式都是未定义的,并且只要底层命令发生变化,它就会发生变化。 在这些情况下,apt-key将尝试检测此类使用并在stderr上生成警告。

命令支持的选项及含义

请注意,选项需要在“命令”之前定义。这里的“命令”指的是下一节中描述的命令。

–keyring filename
使用此选项,可以指定命令应该操作的特定密钥环文件。 默认情况下,在trusted.gpg文件以及trusted.gpg.d目录中的所有部分上执行命令,尽管trusted.gpg是主要密钥环,这意味着例如 新密钥被添加到这个。

命令行命令

list, finger
列出带有指纹的可信密钥。

add filename
将新密钥添加到可信密钥列表中。 密钥是从参数filename给出的文件名中读取的,或者如果文件名是“-”来自标准输入。

至关重要的是,通过apt-key手动添加的密钥被验证属于他们声称的存储库的所有者,否则apt-secure(8)基础结构将被完全破坏。

注意:密钥环不应使用此命令,而应直接放在/etc/apt/trusted.gpg.d/目录中,并带有描述性名称,并以“gpg”或“asc”作为文件扩展名。

del keyid
从信任的密钥列表中删除信任的密钥。

参数keyid是gpg密钥指纹的最后8个字符,即pub下的长十六进制代码。

export keyid
将密钥keyid输出到标准输出。

exportall
将所有可信密钥输出到标准输出。

adv
将高级选项传递给gpg。例如,使用adv –recv-key,你可以从密钥服务器直接下载密钥到可信密钥集中。 请注意,没有执行检查,因此如果不小心使用,很容易完全破坏apt-secure(8)基础结构。

update (deprecated)
使用存档密钥环更新本地密钥环,并从本地密钥环中删除不再有效的存档密钥。 存档密钥环包含在您的发行版的archive-keyring包中,例如 Debian中的debian-archive-keyring包。

请注意,发行版不需要并且实际上不应该再使用此命令,而是直接在/etc/apt/trusted.gpg.d/目录中保存密钥环文件,因为这样可以避免对gnupg的依赖,并且维护者和用户更容易通过简单地为添加和删除文件来管理密钥。

net-update
执行与上述update命令类似的更新,但是从URI获取存档密钥环并根据主密钥对其进行验证。 这需要安装wget(1)和APT构建配置为具有要从中获取的服务器以及要进行验证的主密钥环。 Debian中的APT不支持此命令,而是依赖于更新,但Ubuntu的APT确实如此。

注意事项

支持的钥匙环文件

命令apt-key仅支持具有“gpg”扩展名的二进制OpenPGP格式(也称为“GPG密钥公共环”)的文件,而不支持较新的作为默认值的gpg(1)版本中引入的密钥箱数据库格式作为密钥环文件。因此,与任何apt版本一起使用的二进制密钥环文件应始终使用gpg --export创建。

或者,如果所有应该使用创建的密钥环的系统至少安装了apt>=1.4版本,则可以使用带有“asc”扩展名的ASCII armored格式,这可以使用gpg --armor --export创建。

相关文件

/etc/apt/trusted.gpg
本地可信密钥的密钥环,这里将添加新密钥。配置项:Dir::Etc::Trusted

/etc/apt/trusted.gpg.d/
可信密钥的文件片段,其他密钥环可以存储在此处(由其他包或管理员)。配置项:Dir::Etc::TrustedParts

相关手册

apt-get(8), apt-secure(8)

参考文献

更新日志

  • 10/21/2018 创建文章