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
[server]
192.168.9.10:2590

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

vim /etc/ansible/hosts
[server]
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

 

posted @ 2017-06-06 17:37  陌上归人的博客  阅读(2859)  评论(0编辑  收藏  举报