一、使用方式
rsa_all.sh
功能:创建所有用户的rsa,已经创建过的会跳过
用法:./rsa_all.sh
rsa_one.sh
功能:创建单个用户的rsa,已经创建过的会跳过
用法:./rsa_one.sh 用户名
例子:./rsa_one.sh zjhao
注释:
一、管理员取key的文件夹
/home/keys下,一个子目录对应一个用户,子目录里面是私钥id_rsa
二、最后一行命令
# zjhao 改为管理员名
sudo chown zjhao -R $key_path
为拿到用户的私钥,zjhao参数 改为当前操作的管理员名
二、代码原文
rsa_all.sh
#!/bin/bash
# root_passwd="***
# su root
# echo $root_passwd | su root
key_path='/home/keys'
if [ ! -d $key_path ]
then
sudo mkdir $key_path
fi
one_rsa()
{
# sudo su $user
cd "/home/$user"
if [ ! -f "/home/$user/.ssh/id_rsa.pub" ]
then
echo "user $user 's rsa is making"
sudo su $user -c "echo -e '\n' | $'ssh-keygen'"
# sudo chown root -R "/home/$user/.ssh"
# cd .ssh
sudo su $user -c "cp /home/$user/.ssh/id_rsa.pub /home/$user/.ssh/authorized_keys"
sudo su $user -c "chmod 600 /home/$user/.ssh/authorized_keys"
if [ ! -d "$key_path/$user" ]
then
sudo mkdir "$key_path/$user"
fi
sudo cp "/home/$user/.ssh/id_rsa" "$key_path/$user/"
# sudo chown $user -R "/home/$user/.ssh"``
else
echo "user $user has made rsa_key"
fi
# su zjhao
return 0
}
folder='/home'
users=$(ls $folder)
for user in $users
do
# echo $user
if [ $user != 'keys' ]
then
one_rsa $user
else
echo ""
fi
done
# zjhao 改为管理员名
sudo chown zjhao -R $key_path
rsa_one.sh
#!/bin/bash
# root_passwd="***
# su root
# echo $root_passwd | su root
key_path='/home/keys'
if [ ! -d $key_path ]
then
sudo mkdir $key_path
fi
one_rsa()
{
# sudo su $user
cd "/home/$user"
if [ ! -f "/home/$user/.ssh/id_rsa.pub" ]
then
echo "user $user 's rsa is making"
sudo su $user -c "echo -e '\n' | $'ssh-keygen'"
# sudo chown root -R "/home/$user/.ssh"
# cd .ssh
sudo su $user -c "cp /home/$user/.ssh/id_rsa.pub /home/$user/.ssh/authorized_keys"
sudo su $user -c "chmod 600 /home/$user/.ssh/authorized_keys"
if [ ! -d "$key_path/$user" ]
then
sudo mkdir "$key_path/$user"
fi
sudo cp "/home/$user/.ssh/id_rsa" "$key_path/$user/"
# sudo chown $user -R "/home/$user/.ssh"``
else
echo "user $user has made rsa_key"
fi
# su zjhao
return 0
}
user=$1
one_rsa
# zjhao 改为管理员名
sudo chown zjhao -R $key_path
去tn的被黑挖矿……