Ansible 通过配置文件配置sudo
主配置文件 ansible.cfg
修改 Ansible 中sudo 相关配置
[root@pubserver ~]# vim ~/ansible/ansible.cfg
[defaults]
host_key_checking = false
inventory = inventory
roles_path = roles
remote_user = alice # 以什么用户远程被管理主机
[privilege_escalation]
become = true # 是否需要切换用户
become_method = sudo # 如何切换用户
become_user = root # 切换成什么用户
become_ask_pass = no # sudo 是否需要输入密码
主机清单文件
考虑以下几个问题:
-
如果个别主机账户不同该如何处理呢?
-
如何有些主机需要使用密码呢?
-
有些主机的SSH端口不是22呢?
可以通过设置特殊的主机清单变量如下:
-
ansible_ssh_user:指定登陆远程主机的用户名
-
ansible_ssh_pass:指定登陆远程主机的密码
-
ansible_ssh_port:指定登陆远程主机的端口号
修改主机清单文件,添加变量,多个变量使用空格进行分隔,代码示意如下:
[root@pubserver myansible]# vim inventory
[group1]
web1 ansible_ssh_user=root ansible_ssh_pass=ztt ansible_ssh_port=250
web2 ansible_ssh_user=root ansible_ssh_pass=ztt
db1 ansible_ssh_user=root ansible_ssh_pass=ztt