Ansible自动化运维--1--ansible设置控制节点到所有子节点的批量免密登录

简介: 管理节点control到所有node节点设置密钥对免密登录,告别ssh-copy-id

1、测试环境

centos7.9 阿里云ECS

IP地址 角色
10.0.0.235 control
10.0.0.236 node1
10.0.0.237 node2

ansible版本

[root@ceshi ~]# ansible --versionansible 2.9.27  config file = /etc/ansible/ansible.cfg  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']  ansible python module location = /usr/lib/python2.7/site-packages/ansible  executable location = /usr/bin/ansible  python version = 2.7.5 (default, Jun 28 2022, 15:30:04) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]

2、操作步骤

2.1 设置hosts

[root@ceshi ~]# cat /etc/ansible/hosts |grep -v "#" |grep -v "^$"[test]10.0.0.[236:237] ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass=password

注意:

1、这里直接在hosts文件里边指定了账号、密码、端口,也可以在环境变量里边指定2、如果是使用多台主机且IP连续,可以使用上述方式进行设置,比如:10.0.0.[1:255]表示10.0.0.1-10.0.0.255这个段的地址  10.0.[1:255].[1:255] 表示10.0.1-255.1-255这个地址段

2.2 在crontrol生成公钥和私钥

[root@ceshi ~]# ssh-keygen

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

/root/.ssh/id_rsa already exists.

Overwrite (y/n)?

输入命令,一路回车

2.3 编写yaml文件

[root@ceshi ~]# cat add_key.yml

---

- name: add key

 hosts: all

 tasks:

   - name: key

     authorized_key:

       user: root

       key: "{{ lookup('file', '/root/.ssh/id_rsa.pub') }}"

       state: present

     

注意:yml文件可以在任意路径

2.4 运行playbook

[root@ceshi ~]# ansible-playbook add_key.yml

PLAY [add key] *********************************************************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************************************

ok: [10.0.0.236]

ok: [10.0.0.237]

TASK [key] *************************************************************************************************************************************************************

ok: [10.0.0.236]

ok: [10.0.0.237]

PLAY RECAP *************************************************************************************************************************************************************

10.0.0.236                 : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

10.0.0.237                 : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

2.5 取消hosts文件里边关于端口、密码的设置

[root@ceshi ~]# cat /etc/ansible/hosts |grep -v "#" |grep -v "^$"

[test]

10.0.0.[236:237]

2.6 验证测试

[root@ceshi ~]# ansible all -m shell  -a "ip -4 a |grep inet"

10.0.0.237 | CHANGED | rc=0 >>

   inet 127.0.0.1/8 scope host lo

   inet 10.0.0.237/24 brd 10.0.0.255 scope global dynamic eth0

10.0.0.236 | CHANGED | rc=0 >>

   inet 127.0.0.1/8 scope host lo

   inet 10.0.0.236/24 brd 10.0.0.255 scope global dynamic eth0

如果是可以正常输出IP地址,表示免密设置成功

相关文章
|
24天前
|
监控 运维
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
本文介绍如何设置和查看域名或证书监控。步骤1:根据证书状态选择新增域名或证书监控,线上部署推荐域名监控,未部署选择证书监控。步骤2:查询监控记录详情。步骤3:在详情页查看每日定时检测结果或手动测试。
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
|
24天前
|
Linux 持续交付 调度
HTTPS 证书自动化运维:https证书管理系统-自动化部署
本指南介绍如何部署Linux服务器节点。首先复制生成的Linux脚本命令,然后将其粘贴到目标服务器上运行。接着刷新页面查看节点记录,并点击“配置证书”选择证书以自动部署。最后,节点部署完成,后续将自动调度,无需人工干预。
HTTPS 证书自动化运维:https证书管理系统-自动化部署
|
24天前
|
运维
HTTPS 证书自动化运维:https证书管理系统之自动化签发
通过访问【https://www.lingyanspace.com】注册账户,进入证书服务菜单并新增证书。填写域名(单域名、多域名或泛域名),创建订单后添加云解析DNS记录进行质检。确认完成后可下载证书,并支持后续查看、更新和定时更新功能。证书过期前15天自动更新,需配置邮箱接收通知。
HTTPS 证书自动化运维:https证书管理系统之自动化签发
|
27天前
|
机器学习/深度学习 人工智能 运维
基于AI的自动化事件响应:智慧运维新时代
基于AI的自动化事件响应:智慧运维新时代
100 11
|
1月前
|
人工智能 运维 监控
AI辅助的运维流程自动化:实现智能化管理的新篇章
AI辅助的运维流程自动化:实现智能化管理的新篇章
510 22
|
1月前
|
Kubernetes Java 持续交付
小团队 CI/CD 实践:无需运维,Java Web应用的自动化部署
本文介绍如何使用GitHub Actions和阿里云Kubernetes(ACK)实现Java Web应用的自动化部署。通过CI/CD流程,开发人员无需手动处理复杂的运维任务,从而提高效率并减少错误。文中详细讲解了Docker与Kubernetes的概念,并演示了从创建Kubernetes集群、配置容器镜像服务到设置GitHub仓库Secrets及编写GitHub Actions工作流的具体步骤。最终实现了代码提交后自动构建、推送镜像并部署到Kubernetes集群的功能。整个过程不仅简化了部署流程,还确保了应用在不同环境中的稳定运行。
70 9
|
2月前
|
运维 监控 Ubuntu
【运维】如何在Ubuntu中设置一个内存守护进程来确保内存不会溢出
通过设置内存守护进程,可以有效监控和管理系统内存使用情况,防止内存溢出带来的系统崩溃和服务中断。本文介绍了如何在Ubuntu中编写和配置内存守护脚本,并将其设置为systemd服务。通过这种方式,可以在内存使用超过设定阈值时自动采取措施,确保系统稳定运行。
113 4
|
2月前
|
运维 Ubuntu 应用服务中间件
自动化运维之路:使用Ansible进行服务器管理
在现代IT基础设施中,自动化运维已成为提高效率和可靠性的关键。本文将引导您通过使用Ansible这一强大的自动化工具来简化日常的服务器管理任务。我们将一起探索如何配置Ansible、编写Playbook以及执行自动化任务,旨在为读者提供一条清晰的路径,从而步入自动化运维的世界。
|
2月前
|
运维 网络安全 Python
自动化运维:使用Ansible实现批量服务器配置
在快速迭代的IT环境中,高效、可靠的服务器管理变得至关重要。本文将介绍如何使用Ansible这一强大的自动化工具,来简化和加速批量服务器配置过程。我们将从基础开始,逐步深入到更复杂的应用场景,确保即使是新手也能跟上节奏。文章将不包含代码示例,而是通过清晰的步骤和逻辑结构,引导读者理解自动化运维的核心概念及其在实际操作中的应用。
|
2月前
|
运维 Ubuntu 网络协议
自动化运维:使用Ansible进行服务器配置管理
在现代IT架构中,自动化运维已成为提升效率、减少人为错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和标准化服务器的配置管理过程。通过具体的代码示例和操作步骤,我们将展示如何快速部署应用、管理配置以及自动化日常任务,从而确保环境的一致性和可靠性。

热门文章

最新文章