需求:批量创建5个用户,设置密码123456,同时在多个服务器上执行该操作。
思路:在管理服务器m01上操作,在m01写好创建5个用户并设置密码的脚本,使用ansible的script模块或者先用copy拷贝到目的主机上再使用shell模块执行,注意先用ssh-keygen生成秘钥对并用ssh-copy-id把公钥发到各个主机上。
步骤:
1、编写密钥认证脚本fenfagongyao.sh,实现m01与172.16.1.7/8的通信使用秘钥认证而不需要输入密码:
#!/bin/bash
ssh-keygen -f ~/.ssh/id_rsa -P ‘’ -q
for n in 7 8
do
sshpass -p 1qaz@wsx ssh-copy-id -i ~/.ssh/id_rsa.pub “-o
StrictHostKeyChecking=no” 172.16.1.$n
done
2、编写创建用户、密码脚本create_five_user.sh:
3、创建脚本one_key_user.sh,一键执行即可:
1 #!/bin/bash
2 /usr/bin/sh /server/scripts/create_user/fenfagongyao.sh
3 ansible group2 -m script -a
“/server/scripts/create_user/create_five_user.sh”
group2的情况:
[root@m01 create_user]# cat /etc/ansible/hosts
[group1]
172.16.1.31
172.16.1.41
[group2]
172.16.1.7
172.16.1.8
最后,一键执行one_key_user.sh即可:
sh one_key_user.sh