ansible使用普通用户管理被控节点
本次的任务:
1:ansible的连接被控节点是是以q7用户进行操作的 2:q7用户拥有root用户的权限,进行提权的操作 3:ssh连接时,不需要输入密码,用密钥来进行登录
步骤流程:
1:将/etc/ansible的配置文件移动到家目录下
[root@controller ~]# mkdir ansible [root@controller ~]# ls anaconda-ks.cfg Documents Music Templates ansible Downloads Pictures Videos Desktop initial-setup-ks.cfg Public [root@controller ~]# 模仿ansible.cfg里面的参数来写,或者直接复制过来 [root@controller ansible]# ls ansible.cfg hosts [root@controller ansible]#
2:配置主机清单
[root@controller ansible]# vim hosts [root@controller ansible]# cat hosts [test] client [root@controller ansible]# 对于被控节点的域名解析的配置 [root@controller ansible]# vim /etc/hosts 192.168.20.111 controller 192.168.20.112 client
3:普通用户的权限提升
普通用户具有root用户的权限
#在控制节点上配置普通用户的提权 [root@controller /]# echo "q7 ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers #被控节点的操作(使用ssh来进行操作) [root@controller /]# ssh root@client "echo 'q7 ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers" root@client's password: [root@controller /]#
4:生成密钥
因为每次使用ssh的时候,都会输入密码,所以使用密钥来进行认证(减少麻烦)
#先要切换到普通用户 su - q7 #生成密钥 ssh-keygen [q7@controller ~]$ ssh-keygen #发送公钥给被控节点 [q7@controller ~]$ ssh-copy-id q7@client #在被控节点上面查看公钥 [q7@client .ssh]$ ls authorized_keys [q7@client .ssh]$
5:配置ansible的配置文件
#定义ansible的主机清单的路径 inventory = /home/ansible/hosts #连接时是进行密码验证还是密钥验证 ask_pass = Flase #连接时不验证主机指纹信息 host_key_checking = Flase #远程管理被控节点是登录的什么用户 remote_user = q7 #提权的方式 [privilege_escalation] become=True #是否要提权 become_method=sudo #提权的方式是什么 become_user=root #提权到哪一个用户 become_ask_pass=False #提权时需不需要密码
总的步骤就是
1:先要配置好网络和域名解析
2:创建所有主机都有的用户名
3:给所有的普通用户提权(每次使用的用户就是q7)
4:配置ssh免密钥登录(每次使用ssh的时候,不需要输入密码)
5:修改/home/q7/ansible/下的配置文件和主机清单(这个就是ansible的优先级需要注意一下)
修改里面的几个参数就可以了
2个点就是 1:使用sudo提权的时候,需要输入自己的用户密码,使用NOPASSWD这个选项可以避免输入这个 2:就是没有使用免密钥登录的时候,每次使用ssh都会要求用户输入连接的密码,所以,使用了免密钥的操作后,不需要输入密码就能直接进行操作
几个重要的点就是:
就是有2个点在控制
提权 第一点:/etc/sudoers这个配置文件 提权的时候不需要输入密码 q7 ALL=(ALL) NOPASSWD:ALL 第二点:ansible这个配置文件 become=True #是否提权 become_method=sudo #提权的方式 become_user=root #提权的用户是谁 become_ask_pass=False #提权的时候,是否输入密码 免密钥的操作 第一点: 生成密钥后,使用ssh不需要输入密码 第二点: ask_pass = False #就是在连接的时候,是否输入密码

浙公网安备 33010602011771号