我制作了一个脚本,将一个具有相同密码的相同用户添加到多个服务器:
# !/bin/bash
password=`cat /root/scripts/password`
for i in `cat /root/scripts/LIST_TEST.txt`
do
printf "Serveur : $i \n"
ssh -tt -o PasswordAuthentication=no $i
adduser newuser
yes `echo $password` | passwd newuser
exit 0
done
此外,我在root下使用此脚本时,似乎创建了用户,但密码没有更改,因为我在尝试ssh newuser@server
时无法登录。
困扰我的是,当我以root身份手动登录到服务器,并执行命令yes
echo $password| passwd newuser
,然后注销并重试newuser@server
时,它工作正常...
脚本看起来像这样,现在它是一个有点清楚,但它仍然没有添加正确的密码,我不知道它给出了什么作为一个新的密码...
# !/bin/bash
password=`cat /root/scripts/password`
for i in `cat /root/scripts/LIST_TEST.txt`
do
printf "Serveur : $i \n"
ssh $i 'adduser newuser; yes $password | passwd newuser'
echo $password
done
1条答案
按热度按时间e1xvtsh31#
尝试创建一个将更改密码的脚本,并在远程计算机中执行该脚本,如下所示:
更改您的拳头脚本:
paschange.sh
将为:请注意,这假设:
1.您将创建一个用户,其名称为:
'newuser
'在所有服务器中具有相同名称1.所有服务器的密码都相同
1.您将使用相同的名称登录到所有这些服务器以运行脚本,该用户名是您当前正在执行此脚本的计算机上的用户名。