bjghzly 发表于 2018-1-3 10:51:57

Ansible 使用普通用户远程执行playbook

  设置ansible使用普通用户jsxge远程连接执行playbook
  1. ansible控制端创建普通用户jsxge
  cd /home
  useradd jsxge
  chown -R jsxge.wheel jsxge
  echo "123456" | passwd --stdin jsxge
  2. ansible控制端创建jsxge用户key
  cd /home
  mkdir -p jsxge/.ssh/
  chmod 700 jsxge/.ssh
  ssh-keygen -t rsa -b 2048
  生成id_rsa、id_rsa.pub
  将id_rsa.pub公钥的内容拷贝到被控制端/home/jsxge/.ssh/authorized_keys内
  3. 修改ansible的hosts文件主机配置部分
  分两种情况配置:
  A、当ansible控制端服务器登录用户为jsxge,无须指定私钥文件,默认读取/home/jsxge/.ssh/id_rsa,私钥文件名必须为id_rsa,否则读取不到
  vim /etc/ansible/hosts

  192.168.9.10:2590
  B、当ansible控制端服务器登录用户为root或其它用户,需要指定jsxge用户和私钥文件(也可以在playbook文件开头指定用户remote_user: jsxge,但hosts文件也需要指定私钥文件)
  vim /etc/ansible/hosts

  192.168.9.10 ansible_ssh_port=2590 ansible_ssh_user=jsxge ansible_ssh_private_key_file=/home/jsxge/.ssh/id_rsa
  4. 如果playbook执行的任务需要管理员权限,在playbook文件开头添加以下参数
  ---
  - hosts: server
  become: yes
  become_method: sudo
页: [1]
查看完整版本: Ansible 使用普通用户远程执行playbook