|
#!/usr/bin/env bash |
|
|
|
# use this command to generate new key |
|
# ssh-keygen -o -t ecdsa -C "$(hostname)-$(date +'%d-%m-%Y')" |
|
|
|
declare -A users |
|
users["nartykaly",1]="ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBiYaqq5SmrcSk/FsKWkvDINKlhHY6l/FlEz59x+Y9/faZ7owDDhT94bNxskslnwOyuZoWvEzbadxtFp1g7op/Y= otrs.edenprime.kz-14-08-2020" |
|
users["rjkz808",1]="ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBS2hRSs9a8WxTzNHekAuYjqAY9S/aH94FTNrKjuaeLkIovhYP/9ZkpDWfkCmMDZ4bLoU05Wgdx3mmmzrjNYvtY= MacBook-Pro-Nikolai.local-14-08-2020" |
|
users["kotokrad",1]="ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCDuZxMdMM2j0+xtWpLgPR8FJ5J9SFkyuxCO8umH16uCzHytWa5U68jocHyjV5Lg0pnkLV6EVonmn2EnMNsWuO8= thinkpad-15-08-2020" |
|
users["lazukinpavel",1]="ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGXd0/Orvb6Kv6MTuKd2zwoIvKgsR5jAO1NwCaoAmEfcGJ1A7d/WA5ikibwmSe0oK2FY+nHKsgRM/b9hWC7HeSE= pavel-ThinkPad-T540p-15-08-2020" |
|
users["pavlenkoxx",1]="ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFwtqwHEvjImPgJMGrRD/RXIXVb0jRYx/wD2uVpR4zG5aPXR7ai7Ju5yALaPs/I9+x1idhwliWsuxG79Pdgt6fU= Vladislavs-MacBook-Pro.local-15-08-2020" |
|
users["gnoblin",1]="ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNfdtqfMuiEKbEoPBkkgocg4n5AhP0tK0y8+CJbotYWBYXFH0H0dKWQ9nEWGkd+EPd0nVtRVJlD26AaXM9PX9O8= Slavs-MacBook-Pro.local-15-08-2020" |
|
users["fanenand",1]="ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFaSc5IBk4f9pZ38CQqzRJywjqLjQucvSvv62iTP+b0cnMR0+X59O39u2IlCzPvaxH2eX3bfxXZgt4VBFtbC+e4= DESKTOP-5B5V1DA-15-08-2020" |
|
users["vladmarkus",1]="ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMOyYZmMulrMvCvsvuUzrBwXbi1GPQtdFDIMyAKjXtPQ44JAnH0rHoW/c8kvuMxQZ5RMVOGP/3//NPGzzKhdNIQ= macbook.local-15-08-2020" |
|
users["hawk",1]="ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBB7yXKfI5DELFm/7qnobwZ7Sl3gvtnNOBFndSh9LC2qxsgPpw7ImEbKvoVYh2F6PPRXiRJxoSt/VdkbFi4xhX2A= DESKTOP-GLNCUBN-15-08-2020" |
|
|
|
for userNumber in "${!users[@]}"; do |
|
|
|
user=$(echo ${userNumber}|cut -d "," -f 1) |
|
number=$(echo ${userNumber}|cut -d "," -f 2) |
|
|
|
if [ `id -u ${user} 2>/dev/null || echo -1` -ge 0 ]; then |
|
echo "User is already added" |
|
|
|
if [ -f "/home/${user}/.ssh/authorized_keys" ]; then |
|
echo "/home/${user}/.ssh/authorized_keys exists." |
|
else |
|
touch /home/${user}/.ssh/authorized_keys |
|
chmod 600 /home/${user}/.ssh/authorized_keys |
|
chown ${user}:${user} -R /home/${user}/.ssh |
|
fi |
|
echo "${users["${userNumber}"]}" >> /home/${user}/.ssh/authorized_keys |
|
else |
|
#create user |
|
adduser ${user} --gecos "First Last,RoomNumber,WorkPhone,HomePhone" --disabled-password |
|
# set random password for user |
|
echo "${user}:$(openssl rand -hex 24)" | chpasswd |
|
|
|
# Add users to list of allowed users to connect to ssh |
|
echo "${user}" >> /etc/ssh/sshd_allow |
|
|
|
# create .ssh folder and put authorized_keys |
|
mkdir /home/${user}/.ssh |
|
chmod 700 /home/${user}/.ssh |
|
|
|
echo "${users["${userNumber}"]}" > /home/${user}/.ssh/authorized_keys |
|
|
|
chmod 600 /home/${user}/.ssh/authorized_keys |
|
chown ${user}:${user} -R /home/${user}/.ssh |
|
|
|
#create sudoers file for user |
|
echo "${user} ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/${user} |
|
fi |
|
done |
|
|
|
chmod o-w /etc/ssh/sshd_allow |
|
|