ansible的主机的默认配置部分
Ansible默认安装好后有一个配置文件/etc/ansible/ansible.cfg,该配置文件中定义了ansible的主机的默认配置部分,如默认是否需要输入密码、是否开启sudo认证、action_plugins插件的位置、hosts主机组的位置、是否开启log功能、默认端口、key文件位置等等。
具体如下:
- [defaults]
- # some basic default values...
- hostfile = /etc/ansible/hosts \\指定默认hosts配置的位置
- # library_path = /usr/share/my_modules/
- remote_tmp = $HOME/.ansible/tmp
- pattern = *
- forks = 5
- poll_interval = 15
- sudo_user = root \\远程sudo用户
- #ask_sudo_pass = True \\每次执行ansible命令是否询问ssh密码
- #ask_pass = True \\每次执行ansible命令时是否询问sudo密码
- transport = smart
- remote_port = 22
- module_lang = C
- gathering = implicit
- host_key_checking = False \\关闭第一次使用ansible连接客户端是输入命令提示
- log_path = /var/log/ansible.log \\需要时可以自行添加。chown -R root:root ansible.log
- system_warnings = False \\关闭运行ansible时系统的提示信息,一般为提示升级
- # set plugin path directories here, separate with colons
- action_plugins = /usr/share/ansible_plugins/action_plugins
- callback_plugins = /usr/share/ansible_plugins/callback_plugins
- connection_plugins = /usr/share/ansible_plugins/connection_plugins
- lookup_plugins = /usr/share/ansible_plugins/lookup_plugins
- vars_plugins = /usr/share/ansible_plugins/vars_plugins
- filter_plugins = /usr/share/ansible_plugins/filter_plugins
- fact_caching = memory
- [accelerate]
- accelerate_port = 5099
- accelerate_timeout = 30
- accelerate_connect_timeout = 5.0
- # The daemon timeout is measured in minutes. This time is measured
- # from the last activity to the accelerate daemon.
- accelerate_daemon_timeout = 30
本篇就结合一个示例对其进行下了解。我在对之前未连接的主机进行连结时报错如下:
- [root@361way.com ~]# ansible test -a 'uptime'
- 10.212.52.14 | FAILED => Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host's fingerprint to your known_hosts file to manage this host.
- 10.212.52.16 | FAILED => Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host's fingerprint to your known_hosts file to manage this host.
从上面的输出提示上基本可以了解到由于在本机的~/.ssh/known_hosts文件中并有fingerprint key串,ssh第一次连接的时候一般会提示输入yes 进行确认为将key字符串加入到 ~/.ssh/known_hosts 文件中。
方法1:
了解到问题原因为,我们了解到进行ssh连接时,可以使用-o参数将StrictHostKeyChecking设置为no,使用ssh连接时避免首次连接时让输入yes/no部分的提示。通过查看ansible.cfg配置文件,发现如下行:
- [ssh_connection]
- # ssh arguments to use
- # Leaving off ControlPersist will result in poor performance, so use
- # paramiko on older platforms rather than removing it
- #ssh_args = -o ControlMaster=auto -o ControlPersist=60s
所以这里我们可以启用ssh_args 部分,使用下面的配置,避免上面出现的错误:
- ssh_args = -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no
方法2:
在ansible.cfg配置文件中,也会找到如下部分:
- # uncomment this to disable SSH key host checking
- host_key_checking = False
默认host_key_checking部分是注释的,通过找开该行的注释,同样也可以实现跳过 ssh 首次连接提示验证部分。由于配置文件中直接有该选项,所以推荐用方法2 。
其他部分
由于官方给的说明比较详细,同时ansible.cfg 文件本身默认也有注释提示部分,所以不做过多说明,这里再举个例子,默认ansible 执行的时候,并不会输出日志到文件,不过在ansible.cfg 配置文件中有如下行:
- # logging is off by default unless this path is defined
- # if so defined, consider logrotate
- log_path = /var/log/ansible.log
同样,默认log_path这行是注释的,打开该行的注释,所有的命令执行后,都会将日志输出到/var/log/ansible.log 文件,便于了解在何时执行了何操作及其结果,如下:
- [root@361way.com ansible]# cat /var/log/ansible.log
- 2015-05-04 01:57:19,758 p=4667 u=root |
- 2015-05-04 01:57:19,759 p=4667 u=root | /usr/bin/ansible test -a uptime
- 2015-05-04 01:57:19,759 p=4667 u=root |
- 2015-05-04 01:57:20,563 p=4667 u=root | 10.212.52.252 | success | rc=0 >>
- 01:57am up 23 days 11:20, 2 users, load average: 0.38, 0.38, 0.40
- 2015-05-04 01:57:20,831 p=4667 u=root | 10.212.52.14 | success | rc=0 >>
- 02:03am up 331 days 8:19, 2 users, load average: 0.08, 0.05, 0.05
- 2015-05-04 01:57:20,909 p=4667 u=root | 10.212.52.16 | success | rc=0 >>
- 02:05am up 331 days 8:56, 2 users, load average: 0.00, 0.01, 0.05
更多部分可以参看官方文档。
ansible的主机的默认配置部分的更多相关文章
- ansible介绍、安装与配置
一.ansible简介 (1)简介: Ansible是近年越来越火的一款自动化运维工具,其主要的功能是帮助运维实现IT工作的自动化,降低人为操作失误.提高业务自动化率,常用于软件部署.配置自动化.管理 ...
- Ansible系列(一):基本配置和使用
本文目录:1.1 安装Ansible1.2 配置Ansible 1.2.1 环境配置 1.2.2 SSH互信配置 1.2.3 简单测试1.3 inventory Ansible是一种批量.自动部署工具 ...
- ansible批量管理常见的配置方法
第7章 ansible的管理 7.1 ansible概念的介绍 ansible-playbook –syntax 检查语法 ansible-playbook -C ...
- ansible 二主机和组
主机清单的管理 Ansible安装好之后的主机清单配置文件有如下两种: 1.yum安装,配置文件默认路径为: /etc/ansible/hosts 2.源码包安装,主机清单配置文件路径需要从软件包里面 ...
- Hyper-V虚拟机和主机的网络配置
Hyper-V虚拟机和主机的网络配置 方式1.共享式 这种方式是将Hyper-V内部的虚拟网络与外部网络共享.使得内部是一个私有的网络.属于NAT的类型.(不知道这么说对不对) 优点: 相对来说属于私 ...
- 腾讯云主机 MySQL 远程访问配置方法
使用腾讯云主机安装 MySQL 之后,需要通过以下步骤进行配置以实现远程访问,主要分为两大部分 一.服务器端口配置 1.如果你的云主机配置了安全组,如果没有配置安全组就可以直接跳过“步骤1”的操作,否 ...
- 基于虚拟主机的HAProxy配置实战
本实例是如上图所示 主要实现的功能如下: 当客户访问www.tb.com/tb.com的时候HAProxy将网站提交到电商服务器集群当访问bbs.tb.com的时候,将访问请求调度到论坛集群,实现论坛 ...
- 安装ansible集群管理和配置密钥互信
ansible特性 (1).no agents:不需要在被管控主机上安装任何客户端: (2).no server:无服务器端,使用时直接运行命令即可: (3).modules in any langu ...
- 虚拟主机(多站点配置)的实现--centos上的实现
Apache中配置多主机多站点,可以通过两种方式实现 将同一个域名的不同端口映射到不同的站点(虚拟主机) 将同一个端口映射成不同的域名,不同的域名映射到不同的站点 两种方法可以同时存在,局域网通过 ...
随机推荐
- LODOP打印安装到win的特殊字体
LODOP能够打印的字体,来源于安装到本机windows里字体库的字体,如果需要打印特别的字体,需要在该操作系统安装.由于web网站的用户千差万别,字体库也有不同,但是一般常见的字体都是有的,因此做模 ...
- sql中的begin catch 。。。end catch 的用法
begin catch ...end catch 是用来处理异常的 begintry--SQLendtry begincatch--sql (处理出错动作)endcatch 我们将可能会出错的sql ...
- codeforces616B
Dinner with Emma CodeForces - 616B Jack decides to invite Emma out for a dinner. Jack is a modest st ...
- JarvisOJ Basic 熟悉的声音
两种元素,还有声音,想到了莫尔斯电码,解码得到 jbluwewnz 提交,发现不对,觉得应该是有实际意义的东西,实在想不到还能怎么解,就去看了题解. 发现这个还可以再套一个凯撒密码,就拿python写 ...
- 前端使用Javascrip实现图片轮播
Javascript实现网页图片自动轮播 1.创建一个img标签 设置默认图片,以及图片的高度和宽度,为了大家方便,我将CSS样式和JS语句都写在一个html文件中,演示用的图片来自小明官网:'htt ...
- linu系统文件授权命令
- luogu P1816 【忠诚】
话说许多dalao都采取线段树A题可本蒟蒻不会啊, 暴力的我想出了暴力解法(快排) #include<cstdio> #include<algorithm> using nam ...
- C# 动态调用泛型方法
static void Main(string[] args) { #region 具体类型可传递. Personal specifiedPersonal = new Personal(); Empl ...
- Python中xlutils解析
1.导入模块 import xlrd import xlutils.copy 2.打开模块表 book = xlrd.open_workbook('test.xls', formatting_info ...
- Task Schedule HDU - 3572(按时间点建边)
问题描述 我们的几何公主XMM已经开始研究计算几何学,专注于她新开的工厂.她的工厂引进了M台新机器来处理即将到来的N个任务.对于第i个任务,工厂必须在第Si天或之后开始处理它,处理Pi天,并在Ei之前 ...