ansible常用模块之 -- known_hosts模块 – 在known_hosts文件中添加或删除主机

博客介绍了Ansible的known_hosts模块,该模块可在known_hosts文件中添加或删除主机密钥。从Ansible 2.2起,每个主机允许多个条目,但每种密钥类型仅一个。若管理大量主机密钥,template模块更实用,还给出了官方文档链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ansible常用模块之 -- known_hosts模块 – 在known_hosts文件中添加或删除主机

known_hosts模块 – 在known_hosts文件中添加或删除主机

一、摘要

  • known_hosts模块允许您从known_hosts文件中添加或删除主机密钥。
  • 从Ansible 2.2开始,每个主机允许多个条目,但是ssh支持的每种密钥类型只有一个。例如,如果你想通过ssh使用git模块,这是很有用的
  • 如果要管理的主机密钥非常多,您会发现template模块更有用。

二、参数

参数选项/默认值描述
hash_host
boolean
· no ←
· yes
哈希known_hosts文件中的主机名
keySSH公共主机密钥,作为字符串(如果state=present则为必需,如果state=absent则为可选,在这种情况下,主机的所有密钥都将被删除)。密钥必须是ssh的正确格式(参见sshd(8),“SSH_KNOWN_HOSTS FILE format”小节)。具体来说,密钥不应该与SSH pubkey文件中的格式匹配,而应该在包含pubkey的行前面加上主机名,与它在known_hosts文件中出现的方式相同。行前的值也必须与name参数的值匹配。格式应为’ <hostname[,IP]> ssh-rsa <pubkey>”
name
required
要添加或删除的主机(必须与key中指定的主机匹配)。它将被转换为小写,以便ssh-keygen能够找到它。
必须匹配或出现在关键属性
pathDefault: “(homedir)+/.ssh/known_hosts”要编辑的known_hosts文件
state· present ←
· absent
present是为了添加主机密钥,absent是为了删除它。

三、示例

# 告诉主机它可能想要SSH到的服务器
- name: tell the host about our servers it might want to ssh to
  known_hosts:
    path: /etc/ssh/ssh_known_hosts
    name: foo.com.invalid
    key: "{{ lookup('file', 'pubkeys/foo.com.invalid') }}"

# 调用known_hosts的另一种方法
- name: Another way to call known_hosts
  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

官方文档:https://docs.ansible.com/ansible/2.9/modules/known_hosts_module.html#known-hosts-module

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值