下面是我写的一个添加用户的脚本,添加用户的同时并将公钥写入到用户的.ssh下面,以便适应秘药方式登录。


使用root权限执行下面的脚本即可,例如sh adduser.sh ops001

脚本名称:adduser.sh

#!/bin/bash
# 秘钥为:ops01@Company_低权限
# 秘钥长度为4096位
# 秘钥的密码为xxx
# 简单起见,账户的密码为固定的abcd@1234,没有使用随机数,不然分发时候各个主机的密码都不一样了。
if [ $# != 1 ]; then 
echo 'Usage: sh adduser.sh username'
elif id $1 >/dev/null 2>&1 ; then
echo "[-] User:$1 already exists.  Date: $(date "+%F %T")" | tee -a /root/newuser.log
exit
else
useradd $1
echo 'abcd@1234'| passwd --stdin $1
cd /home/$1
mkdir .ssh
chmod 700 .ssh
cd .ssh
cat >> authorized_keys << EOF
xxxxxxxxxx这段是公钥文件的内容xxxxxxxxxxxxxxxxxxxxxxx
EOF
chmod 644 authorized_keys
cd ..
chown $1.$1 .ssh/ -R
echo "[+] User:$1 add success.  Date: $(date "+%F %T")" |tee -a /root/newuser.log
fi