当前位置:首页>微思动态 > >详情
全国热线电话 400-881-4699

在线留言

Ansible内置模块之known_hosts

发布作者:微思网络   发布时间:2024-11-12   浏览量:0
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相关文章推荐



返回顶部