ansible.builtin.known_hosts 模块 – 从 known_hosts
文件中添加或删除主机
注意
此模块是 ansible-core
的一部分,包含在所有 Ansible 安装中。在大多数情况下,即使不指定 collections 关键字,您也可以使用简短的模块名称 known_hosts
。但是,我们建议您使用 完全限定集合名称 (FQCN) ansible.builtin.known_hosts
,以便轻松链接到模块文档并避免与可能具有相同模块名称的其他集合冲突。
摘要
ansible.builtin.known_hosts 模块允许您从
known_hosts
文件中添加或删除主机密钥。从 Ansible 2.2 开始,每个主机允许多个条目,但每个 ssh 支持的密钥类型只有一个。例如,如果您要通过 ssh 使用 ansible.builtin.git 模块,这将非常有用。
如果您需要管理大量主机密钥,您会发现 ansible.builtin.template 模块更有用。
参数
参数 |
注释 |
---|---|
对 known_hosts 文件中的主机名进行哈希。 选项
|
|
SSH 公钥,以字符串形式表示。 如果 密钥必须采用 SSH 正确的格式(请参阅 sshd(8),“SSH_KNOWN_HOSTS 文件格式”部分)。 具体来说,密钥不应与 SSH 公钥文件中找到的格式匹配,而应在包含公钥的行前加上主机名,这与它在 known_hosts 文件中显示的方式相同。添加到行前面的值也必须与 name 参数的值匹配。 应采用 对于自定义 SSH 端口, |
|
要添加或删除的主机(必须与 key 中指定的主机匹配)。它将转换为小写,以便 必须与 key 属性中存在的 <hostname> 或 <ip> 匹配。 对于自定义 SSH 端口, |
|
要编辑的 known_hosts 文件。 如果需要,将创建 known_hosts 文件。在运行模块之前,必须存在路径的其余部分。 默认值: |
|
选项
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持: 完全支持 |
可以在 check_mode 中运行并返回更改状态预测,而无需修改目标,如果不支持,则操作将被跳过。 |
|
支持: 完全支持 |
在差异模式下,将返回有关已更改内容(或在 check_mode 中可能需要更改的内容)的详细信息 |
|
平台: posix |
可以对其进行操作的目标操作系统/系列 |
示例
- name: Tell the host about our servers it might want to ssh to
ansible.builtin.known_hosts:
path: /etc/ssh/ssh_known_hosts
name: foo.com.invalid
key: "{{ lookup('ansible.builtin.file', 'pubkeys/foo.com.invalid') }}"
- name: Another way to call known_hosts
ansible.builtin.known_hosts:
name: host1.example.com # or 10.9.8.77
key: host1.example.com,10.9.8.77 ssh-rsa ASDeararAIUHI324324 # some key gibberish
path: /etc/ssh/ssh_known_hosts
state: present
- name: Add host with custom SSH port
ansible.builtin.known_hosts:
name: '[host1.example.com]:2222'
key: '[host1.example.com]:2222 ssh-rsa ASDeararAIUHI324324' # some key gibberish
path: /etc/ssh/ssh_known_hosts
state: present