如何给30台centos7服务器分别增加相同的用户

老大直接给了30台新鲜的生产服务器,要给每一台服务器增加一个用户,密码相同

难道我们要部署一个工具吗?这样对生产环境可能会产生影响,为了保证服务器的新鲜以及节约时间,研究了小半天,终于研究出一个不是很智能的shell脚本

第一步:我们还是要把其中一台当成服务器

生成密钥:ssh-keygen -t rsa

第二步:在这台服务器上编辑三个文件:all.sh这个文件主要是传输ssh密钥,传送另外两个文件,进入每个系统执行其他两个脚本文件的;useradd.sh这个文件主要是用来在每个系统里增加用户的;users。list这个文件主要是提供用户名称的

1.

for IP in $(more ip.list)
do
if [ -n $IP ]
then
ssh-copy-id -i /root/.ssh/id_rsa.pub $IP
 echo
fi
done


for IP in $(more ip.list)
do
if [ -n $IP ]
then
 scp /useradd.sh /users.list $IP:/root
 echo
fi
done

 

rm -f /root/.ssh/*
for IP in $(more ip.list)
do
 if [ -n $IP ]
then
 ssh $IP
 echo "login successful!"
else
 echo "sorry"
fi
done

 

2.useradd.sh

#! /bin/bash
#
#batch add users with file called users.list
#
#cd /root
for username in $(more users.list)
do
if [ -n $username ]
then
 useradd -m $username
 echo
 echo $username"123" | passwd --stdin $username
 echo
 echo "User $username's password is changed!"
else
 echo "The username is null!"
fi
done

rm -f /root/useradd.sh /root/users.list
rm -f /root/.ssh/*
cat /etc/passwd | grep $username

 

 

3.users.list

tt (我们所要增加的用户名)

 

 

这三个文件编辑好之后,在这台服务器上./all.sh,不智能的点就展示出来了,传输密钥需要密码,进入系统的时候我们需要输入yes和密码,进入系统之后我们要手动的执行useradd.sh这个脚本,执行完脚本之后,我们还要手动输入exit下能跳入下一个系统中

 

posted @ 2018-01-11 17:07  无踪无影  阅读(245)  评论(0编辑  收藏  举报