Ansible自动化运维工具之解决SSH连接使用明文密码问题(4)

简介: Ansible自动化运维工具之解决SSH连接使用明文密码问题(4)

例子:

cat -n /etc/ansible/hosts
1 192.168.100.59:22
2 192.168.100.60 ansible_ssh_pass=123456 ansible_ssh_port=22
3 [nginx]
4 192.168.100.5[7:9]
5 [nginx:vars]
6 ansible_ssh_pass='123456'
7 [webservers:children]
8 nginx

 第⼀⾏和第⼆⾏单独定义主机,第⼀⾏带上了连接被管节点的端⼝,第⼆⾏带上了单独传递给ssh的参数,分别是ssh连接时的登录远程⽤户的密码参数和ssh的连接端⼝。


第三⾏和第四⾏定义的是nginx主机组,该组中包含了192.168.100.57到59这3台主机。还⽀持字母的扩展,如"web[a-d]"。


 第五⾏和第六⾏定义了要传递给nginx主机组的变量。若定义为"[all:vars]"或"[*:vars]"则表⽰传递给所有主机的变量。


 第七和第⼋⾏定义了⼀个新的主机组webservers,该组的组成员有nginx组。


以上例子中存在的问题:


 一般不推荐使用上面的ansible_ssh_pass=123456明文密码,应该使用ssh私匙,但是在生产环境中,在主机中不可能只使用一种私匙,可能各种需要无密码连接的服务都使用了私匙,使用一种私匙很不安全,所以会有各种服务使用不同的私匙,那怎么办呢?


解决:


 在ansible中需要使用ansible_ssh_private_key_file='私匙文件路径'来指明ansible这个服务使用的私匙文件路径。

vim /etc/ansible/hosts
...
[nginx]
192.168.100.57  ansible_ssh_private_key_file="/root/.ssh/57_key"
192.168.100.58
192.168.100.59  ansible_ssh_private_key_file="/root/.ssh/59_key"

衍生问题:


 在上面的指明ssh私匙文件路径的情况适合某一台主机,但是ansible都是主机组,无数多台主机,不可能每台主机后面都指明ssh私匙文件路径,那又怎么办呢?


解决:


 这里就需要用到vars变量定义,即可以定义一个变量,可以单独为一个主机组定义一个变量指明ssh私匙路径,该主机组的主机即可都是用该变量中指明的ssh私匙文件,也可以为所有主机组(all)定义一个变量,所有主机都使用变量中指明的的ssh私匙文件。

vim /etc/ansible/hosts
...
[nginx]
192.168.100.5[7:9]
...
[nginx:vars]
ansible_ssh_private_key_file="/root/.ssh/key"


相关文章
|
23天前
|
运维 应用服务中间件 持续交付
自动化运维的利器:Ansible实战应用
【9月更文挑战第33天】本文将带你深入理解Ansible,一个强大的自动化运维工具。我们将从基础概念开始,逐步探索其配置管理、任务调度等功能,并通过实际案例演示其在自动化部署和批量操作中的应用。文章旨在通过浅显易懂的语言和实例,为读者揭开Ansible的神秘面纱,展示其在简化运维工作中的强大能力。
134 64
|
22天前
|
运维 负载均衡 应用服务中间件
自动化运维:使用Ansible进行服务器配置管理
【9月更文挑战第34天】在现代IT运维工作中,自动化已成为提升效率、减少错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置管理工作。我们将通过实际案例展示如何利用Ansible的Playbooks来自动化常见任务,并讨论其对提高运维团队工作效率的影响。
|
21天前
|
运维 应用服务中间件 网络安全
自动化运维:使用Ansible进行批量服务器配置
【9月更文挑战第35天】在现代IT基础设施管理中,高效、可扩展的自动化工具是提升工作效率的关键。本文将引导您了解如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置过程,确保一致性和可靠性的同时减少人为错误。通过实际案例,我们将展示如何编写Ansible Playbook以实现批量服务器配置,从而让您能够更加轻松地管理和维护您的服务器群。
|
2天前
|
运维 负载均衡 安全
自动化运维:使用Ansible进行服务器配置管理
【10月更文挑战第15天】在本文中,我们将探讨如何利用Ansible这一强大的自动化工具来简化和加速服务器的配置管理工作。通过实际案例和代码示例,我们将展示Ansible如何帮助运维人员高效地进行软件部署、系统更新和日常维护任务,从而提升工作效率并减少人为错误。
|
8天前
|
运维 关系型数据库 MySQL
自动化运维工具Ansible的实战应用
【10月更文挑战第9天】在现代IT运维领域,效率和可靠性是衡量一个系统是否健康的重要指标。自动化运维工具Ansible因其简洁、易用的特性,成为了众多企业和开发者的首选。本文将通过实际案例,展示如何利用Ansible进行日常的运维任务,包括配置管理、软件部署以及批量操作等,帮助读者深入理解Ansible的应用场景及其带来的效益。
|
15天前
|
运维 应用服务中间件 数据库
自动化运维:使用Ansible简化日常任务
【10月更文挑战第2天】在快速迭代的软件开发周期中,运维工作往往变得重复而繁琐。本文将介绍如何使用Ansible这一强大的自动化工具来简化日常任务,从而提升效率并减少人为错误。从基础配置到复杂部署,我们将一步步展示如何通过编写简单的Playbook来实现自动化管理。
43 3
|
15天前
|
运维 应用服务中间件 Linux
自动化运维:使用Ansible管理服务器配置
【10月更文挑战第2天】在现代IT运维中,自动化是提高效率和减少错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化日常的服务器管理工作。我们将从基础讲起,逐步深入到高级应用,展示如何通过编写简单的Playbooks来自动化复杂的配置任务。文章还将探讨Ansible的最佳实践,并分享一些实际案例来说明其在实际工作中的应用。
|
18天前
|
运维 应用服务中间件 nginx
自动化运维:使用Ansible管理服务器
【8月更文挑战第70天】随着互联网技术的飞速发展,服务器的数量和复杂性也在日益增加。如何高效、准确地管理这些服务器,成为了每一个运维人员必须面对的问题。本文将介绍如何使用Ansible这个开源的IT自动化工具,来帮助我们更好地管理服务器。Ansible以其简洁的语法、强大的功能和易于上手的特性,成为了运维人员的好帮手。我们将通过一些实际的例子,来看看Ansible是如何工作的。
|
27天前
|
运维 持续交付 开发工具
自动化运维工具:Ansible入门教程
【8月更文挑战第60天】在现代IT运维管理中,自动化工具的使用已成为提高生产效率、减少人为错误和确保环境一致性的重要手段。本文将介绍Ansible——一款流行的开源自动化运维工具,通过其简单易学的语法和强大的功能,帮助读者快速入门并实现自动化部署和管理。我们将从Ansible的基本概念讲起,逐步深入到实际的代码示例,展示如何利用Ansible简化日常的运维任务。无论你是新手还是有经验的系统管理员,这篇文章都将为你提供实用的知识和技巧,让你轻松驾驭Ansible,开启自动化运维之旅。
|
27天前
|
存储 运维 Ubuntu
自动化运维:使用Ansible管理服务器
【8月更文挑战第61天】本文将介绍如何使用Ansible工具进行服务器的自动化管理。我们将从基础概念开始,逐步深入到实际的应用案例,最后通过代码示例展示如何实现自动化部署和配置管理。无论你是初学者还是有经验的运维工程师,这篇文章都会为你提供有价值的参考。