当前位置: 首页 > news >正文

Ansible内置模块之known_hosts

Ansible内置模块之 known_hosts

ansible.builtin.known_hosts 模块允许您在 known_host 文件中添加或删除主机公钥。从 Ansible 2.2开始,每个主机允许多个条目,但 ssh 支持的每个公钥类型只能有一个条目。例如,如果您想在 ssh 上使用[ansible.builtin.git]模块,这将非常有用。如果要管理大量的主机公钥,[ansible.builtin.template]模块更有用。

1. 选 项 说 明

选项必须类型默认值说明
urlstr要下载文件的 URL
deststr目标文件路径
modestr目标文件的权限,如 0644、0755 等
ownerstr目标文件的所有者
groupstr目标文件的属组
checksumstrno用于验证下载文件的 SHA256 校验和
forcebool如果目标文件存在,是否强制覆盖
timeoutintno设置下载的超时时间(秒)
headerslist用于下载请求的 HTTP 头
url_passwordstr用于下载请求的密码
url_usernamestr用于下载请求的用户名
validate_certsboolyes如果为 no,忽略 SSL 证书验证错误
use_proxyboolyes是否使用系统中定义的代理
client_certstr用于下载请求的客户端证书文件路径
client_keystr用于下载请求的客户端密钥文件路径
http_agentstransible-httpget设置下载请求的 HTTP User-Agent 头

2. 用 例

# 利用文件向 known_hosts 文件添加主机公钥
- 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') }}"

# 向 known_hosts 文件添加主机公钥
- 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
    path: /etc/ssh/ssh_known_hosts
    state: present

# 向 known_hosts 文件添加特定ssh端口的主机公钥
- name: Add host with custom SSH port
  ansible.builtin.known_hosts:
    name: '[host1.example.com]:2222'
    key: '[host1.example.com]:2222 ssh-rsa ASDeararAIUHI324324'
    path: /etc/ssh/ssh_known_hosts
    state: present

# 向 known_hosts 文件添加多个主机公钥
- name: Add multiple host keys to known_hosts
  ansible.builtin.known_hosts:
    path: /home/user/.ssh/known_hosts
    host: "{{ item.host }}"
    key: "{{ item.key }}"
    state: present
  loop:
    - { host: "git.example.com", key: "ssh-rsa AAAAB3NzaC1yAQEYb... user@host" }
    - { host: "hg.example.com", key: "ssh-rsa AAAAB3NzaC1ycAAr5zYb... user@host" }

# 向默认的 known_hosts 文件添加主机公钥并哈希化主机名
- name: Add a host key to known_hosts with hashed hostnames
  ansible.builtin.known_hosts:
    host: git.example.com
    key: ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAr5zYb... user@host
    hash_host: yes

# 从 known_hosts 文件中删除主机公钥
- name: Remove a host key from known_hosts
  ansible.builtin.known_hosts:
    path: /home/user/.ssh/known_hosts
    host: git.example.com
    state: absent

          

Ansible相关文章推荐

  • Ansible内置模块之get_url

  • Ansible 命令行指南

  • Ansible内置模块之file

  • 在RHEL 9上使用Ansible安装GitLab CE

  • 16张PPT让你一小时学会Ansible

  • 一文看懂Ansible自动化运维

  • Ansible内置模块之assemble

  • Ansible内置模块之authorized_key

  • Ansible内置模块之copy

  • Ansible内置模块之cron

  • Ansible内置模块之file

  • Terraform和Ansible简介


http://www.mrgr.cn/news/71342.html

相关文章:

  • 用K8S部署nginx负载均衡
  • 【LeetCode】【算法】15. 三数之和
  • ORU——ORAN 无线电单元参考架构
  • [python3] tornado 使用swagger编写接口文档
  • torch.nn.**和torch.nn.functional.**的区别
  • 推荐一款功能强大的视频修复软件:Apeaksoft Video Fixer
  • 抖音热门素材去哪找?优质抖音视频素材网站推荐!
  • idea 添加内嵌代码作者-方法添加作者-设置方法作者-设置[code author]--设置代码修改作者和修改时间
  • Redis下载历史版本
  • MySQL 如何用C语言连接
  • 力扣--树题总结
  • JS爬虫实战之TikTok_Shop验证码
  • Linux_1
  • 软件测试基础二十三 (接口测试 集成UnitTest)
  • 【miniMax开放平台-注册安全分析报告】
  • 前端js用canvas合成图片并转file对象
  • 【GPTs】Get Simpsonized:一键变身趣味辛普森角色
  • 2025计算机毕设选题精选推荐【Java方向】
  • PCB过孔分哪些,设计需注意事项
  • VirtualBox和 Vagrant
  • 力扣 LeetCode 977. 有序数组的平方(Day1:数组)
  • docker使用过程中安装wsl的问题wsl update failed错误0x800701bc
  • Python练习19
  • 24/11/12 算法笔记<强化学习> 自注意力机制
  • 【vs主程序 链接 实时生成库的问题】
  • HTTP状态码详解