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'

wanghui
34 声望9 粉丝