# Created on savesnippets.com ยท https://savesnippets.com/2jOMJ7rU8tRBeg add_user() { local user="$1" if id "$user" &>/dev/null; then echo "User $user already exists" return 0 fi useradd -m -s /bin/bash "$user" passwd -e "$user" # force password change on first login usermod -aG sudo "$user" # add to sudoers group mkdir -p "/home/$user/.ssh" chmod 700 "/home/$user/.ssh" chown -R "$user:$user" "/home/$user/.ssh" echo "User $user created" } # Provision SSH key for the new user add_ssh_key() { local user="$1" key="$2" echo "$key" >> "/home/$user/.ssh/authorized_keys" chmod 600 "/home/$user/.ssh/authorized_keys" chown "$user:$user" "/home/$user/.ssh/authorized_keys" } add_user alice add_ssh_key alice "ssh-ed25519 AAAAC3NzaC... alice@laptop"