ansible基于密码sudo执行命令
需求分析
- 主机目前在同一个局域网可访问
权限方面:
- 所有的主机都禁止使用root直接登录
- 所有的主机都禁止配置密钥登录
- 所有的主机有sudo到root的权限
- ssh登录端口是65535
实战方案
- 安装ansible
yum -y install ansible
- 关闭
host_key_checking
vim /etc/ansible/ansible.cfg
host_key_checking = False
- 配置hosts
vim /etc/ansible/hosts
[centos6]
192.168.22.1:22 ansible_ssh_user=wanghui ansible_ssh_pass='123456' ansible_sudo_pass='123456'
[centos7]
centos7-node1.abc.com:22 ansible_ssh_user=wanghui ansible_ssh_pass='123456' ansible_sudo_pass='123456'
- 执行命令
ansible all -m shell -a "mkdir /root/test -p" -u wanghui --sudo
还有一种直接用root和密码的方式执行的hosts文件配置
[centos-all]
centos7-node1 ansible_ssh_host=192.168.56.11 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='111'
centos7-node2 ansible_ssh_host=192.168.56.12 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='111'