[推荐]ansible在主控机执行实现多个worker机器免密登录

1)先保证3个机器(1个master2个worker)都启动!!!

2)输入ansible --version,没有反应则会提示安装,直接安装即可!!!

3)验证版本

复制代码
[root@bogon mianmi]# python --version
Python 3.9.19


[root@bogon mianmi]# ansible --version
ansible [core 2.14.18]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.9/site-packages/ansible
  ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.9.19 (main, Sep 11 2024, 00:00:00) [GCC 11.5.0 20240719 (Red Hat 11.5.0-2)] (/usr/bin/python3)
  jinja version = 3.1.2
  libyaml = True

4)master机器生成一下

复制代码
[root@bogon mianmi]# ssh-keygen -t ed25519 -C "ansible-master" -f ~/.ssh/id_ed25519

5)master机器上查看下~/.ssh下,证明生成完毕

复制代码
[root@bogon .ssh]# cat id_ed25519.pub 
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINcv3wV16QWvOQodOAOncKI6I499cRjud+Kovhu7C3fW ansible-master

6)准备好主机清单

hosts.int

复制代码
[workers]
192.168.3.204
192.168.3.205

[all:vars]
ansible_user=root
ansible_port=22
ansible_ssh_common_args='-o StrictHostKeyChecking=accept-new'

7)准备好剧本

push_ssh_key.yml

复制代码
- hosts: workers
  gather_facts: no
  tasks:
    - name: install master's public key to workers
      authorized_key:
        user: "{{ ansible_user }}"
        state: present
        key: "{{ lookup('file', '~/.ssh/id_ed25519.pub') }}"

8)执行

复制代码
[root@bogon mianmi]# ansible-playbook -i hosts.ini push_ssh_key.yml -k
SSH password: 
[WARNING]: Collection ansible.posix does not support Ansible version 2.14.18

PLAY [workers] *******************************************************************************************************************************

TASK [install master's public key to workers] ************************************************************************************************
ok: [192.168.3.204]
changed: [192.168.3.205]

PLAY RECAP ***********************************************************************************************************************************
192.168.3.204              : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
192.168.3.205              : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

9)验证下,发现都已经成功

复制代码
[root@bogon mianmi]# ansible -i hosts.ini workers -m ping
192.168.3.204 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    },
    "changed": false,
    "ping": "pong"
}
192.168.3.205 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    },
    "changed": false,
    "ping": "pong"
}

总结:

可见ansible安装和使用都非常简单,安装就是:输入,不存在则自动安装。

接着写好清单和剧本,一键执行即可!!!

理解ansible的幂等性

相关推荐
2601_962128265 分钟前
Nginx目录结构
运维·nginx
MayZork30 分钟前
Windows 与 Linux 下 vcpkg 的安装部署指南
linux·运维·windows
yyuuuzz33 分钟前
记一次 VPS 性能排查:共享 CPU 突发额度导致的限流
运维·服务器·人工智能
冰雪青松37 分钟前
Ubuntu 运维命令大全:从入门到精通的实战参考手册
运维·服务器·ubuntu
zbyyd1 小时前
Linux 进程间通信学习笔记
linux·笔记·学习
CDN3601 小时前
节点智能调度实操:解决出海区域访问快慢不均、节点拥堵、跨洋延迟高,CDN 全网择优落地方案
运维·服务器·网络
白清羽2 小时前
7.3系统安装docker
运维·docker·容器
翼龙云_cloud3 小时前
阿里云国际渠道代理商:如何在ECS上部署Flask应用?
运维·数据库·阿里云·flask·云计算
GGG7664 小时前
Python 运维自动化:psutil+IPy 系统与网络信息采集深度实战
运维·python·云原生·pip
可乐鸡翅yeah_4 小时前
个人 / 外包流媒体项目交付实战,M3U8 验收与问题闭环完整工作流
运维·网络·python·低代码·django·m3u8·在线播放