首頁 > 系統教程 > Linux > ansible的ansible.cfg設定介紹

ansible的ansible.cfg設定介紹

王林
發布: 2024-09-02 16:40:09
原創
1087 人瀏覽過

ansible的ansible.cfg設定介紹

Ansible默认安装好后有一个配置文件/etc/ansible/ansible.cfg,该配置文件中定义了ansible的主机的默认配置部分,如默认是否需要输入密码、是否开启sudo认证、action_plugins插件的位置、hosts主机组的位置、是否开启log功能、默认端口、key文件位置等等。

具体如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

[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

登入後複製

本篇就结合一个示例对其进行下了解。我在对之前未连接的主机进行连结时报错如下:

1

2

3

4

5

6

7

[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配置文件,发现如下行:

1

2

3

4

5

[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 部分,使用下面的配置,避免上面出现的错误:

1

ssh_args = -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no

登入後複製
方法2:

在ansible.cfg配置文件中,也会找到如下部分:

1

2

# uncomment this to disable SSH key host checking

host_key_checking = False

登入後複製

默认host_key_checking部分是注释的,通过找开该行的注释,同样也可以实现跳过 ssh 首次连接提示验证部分。由于配置文件中直接有该选项,所以推荐用方法2 。

其他部分

由于官方给的说明比较详细,同时ansible.cfg 文件本身默认也有注释提示部分,所以不做过多说明,这里再举个例子,默认ansible 执行的时候,并不会输出日志到文件,不过在ansible.cfg 配置文件中有如下行:

1

2

3

# 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 文件,便于了解在何时执行了何操作及其结果,如下:

1

2

3

4

5

6

7

8

9

10

[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.cfg設定介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
centos7 - git的linux版本沒有centos的?
來自於 1970-01-01 08:00:00
0
0
0
學習Linux的先行知識
來自於 1970-01-01 08:00:00
0
0
0
Linux下連接資料庫
來自於 1970-01-01 08:00:00
0
0
0
Linux 批次修改檔名
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板