ansible.builtin.apt_key 模块 – 添加或删除 apt 密钥
注意
此模块是 ansible-core
的一部分,包含在所有 Ansible 安装中。在大多数情况下,即使不指定 集合关键词,您也可以使用简短的模块名称 apt_key
。但是,我们建议您使用 完全限定的集合名称 (FQCN) ansible.builtin.apt_key
,以便轻松链接到模块文档并避免与可能具有相同模块名称的其他集合发生冲突。
摘要
添加或删除 apt 密钥,可以选择下载它。
需求
以下需求是在执行此模块的主机上所需的。
gpg
参数
参数 |
注释 |
---|---|
要添加到密钥环的密钥文件内容。 |
|
远程服务器上要添加到密钥环的密钥文件的路径。 |
|
密钥的标识符。 包含此项允许检查模式正确报告更改状态。 如果指定子密钥的 id,请注意 apt-key 不了解如何通过子密钥 id 删除密钥。请改用主密钥的 id。 当 |
|
|
|
从中检索密钥的密钥服务器。 |
|
确保密钥存在(已添加)或不存在(已撤销)。 选择
|
|
从中检索密钥的 URL。 |
|
如果 选择
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持:完全支持 |
可以在检查模式下运行并返回更改状态预测,而无需修改目标,如果不支持,则操作将被跳过。 |
|
支持:不支持 |
将在差异模式下返回有关已更改内容(或可能需要在检查模式下更改的内容)的详细信息 |
|
平台: debian |
可以对其进行操作的目标操作系统/系列 |
备注
注意
此模块使用的
apt-key
命令已弃用。有关详细信息,请参阅 Debian wiki。此模块保留是为了与仍然使用apt-key
作为管理 apt 存储库密钥的主要方式的系统向后兼容。作为健全性检查,下载的密钥 ID 必须与指定的密钥 ID 匹配。
使用完整的指纹(40 个字符)密钥 ID 以避免密钥冲突。要生成导入密钥的完整指纹:
apt-key adv --list-public-keys --with-fingerprint --with-colons
。如果您同时指定了密钥
id
和url
以及state=present
,则任务可以根据需要验证或添加密钥。添加新密钥需要更新 apt 缓存(例如,使用 ansible.builtin.apt 模块的
update_cache
选项)。
另请参阅
另请参阅
- ansible.builtin.deb822_repository
添加和删除 deb822 格式的存储库。
示例
- name: One way to avoid apt_key once it is removed from your distro, armored keys should use .asc extension, binary should use .gpg
block:
- name: somerepo | no apt key
ansible.builtin.get_url:
url: https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x36a1d7869245c8950f966e92d8576a8ba88d21e9
dest: /etc/apt/keyrings/myrepo.asc
checksum: sha256:bb42f0db45d46bab5f9ec619e1a47360b94c27142e57aa71f7050d08672309e0
- name: somerepo | apt source
ansible.builtin.apt_repository:
repo: "deb [arch=amd64 signed-by=/etc/apt/keyrings/myrepo.asc] https://download.example.com/linux/ubuntu {{ ansible_distribution_release }} stable"
state: present
- name: Add an apt key by id from a keyserver
ansible.builtin.apt_key:
keyserver: keyserver.ubuntu.com
id: 36A1D7869245C8950F966E92D8576A8BA88D21E9
- name: Add an Apt signing key, uses whichever key is at the URL
ansible.builtin.apt_key:
url: https://ftp-master.debian.org/keys/archive-key-6.0.asc
state: present
- name: Add an Apt signing key, will not download if present
ansible.builtin.apt_key:
id: 9FED2BCBDCD29CDF762678CBAED4B06F473041FA
url: https://ftp-master.debian.org/keys/archive-key-6.0.asc
state: present
- name: Remove a Apt specific signing key, leading 0x is valid
ansible.builtin.apt_key:
id: 0x9FED2BCBDCD29CDF762678CBAED4B06F473041FA
state: absent
# Use armored file since utf-8 string is expected. Must be of "PGP PUBLIC KEY BLOCK" type.
- name: Add a key from a file on the Ansible server
ansible.builtin.apt_key:
data: "{{ lookup('ansible.builtin.file', 'apt.asc') }}"
state: present
- name: Add an Apt signing key to a specific keyring file
ansible.builtin.apt_key:
id: 9FED2BCBDCD29CDF762678CBAED4B06F473041FA
url: https://ftp-master.debian.org/keys/archive-key-6.0.asc
keyring: /etc/apt/trusted.gpg.d/debian.gpg
- name: Add Apt signing key on remote server to keyring
ansible.builtin.apt_key:
id: 9FED2BCBDCD29CDF762678CBAED4B06F473041FA
file: /tmp/apt.gpg
state: present
返回值
常见返回值在 此处 有记录,以下是此模块独有的字段
键 |
描述 |
---|---|
任何修改后 apt 密钥 ID 或指纹列表 返回:发生更改时 示例: |
|
任何修改之前 apt 密钥 ID 或指纹列表 返回:始终 示例: |
|
要导入的密钥的指纹 返回:始终 示例: |
|
源中的密钥 ID 返回:始终 示例: |
|
计算出的密钥 ID,它应该与“id”相同,但可能不同 返回:始终 示例: |
|
计算出的短密钥 ID 返回:始终 示例: |