Simple bash script to create a user with SSH key
A bash script that will create a user with 'wheel' group access (to provide sudo access).
Load the script into the environment by cut-n-pasting this into the shell
function createsshuser() { USER="$1" shift SSH_PUBLIC_KEY="$*" PASSWORD=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1) # create a user with a random password adduser ${USER} echo ${USER}:${PASSWORD} | chpasswd # add the user to the wheel group so they can sudo usermod -a -G wheel ${USER} # add the ssh public key su - ${USER} -c "umask 022 ; mkdir .ssh ; echo $SSH_PUBLIC_KEY >> .ssh/authorised_keys" }
Create users by typing
# createsshuser bob ssh-rsa AAAA...B3FBdxaQ== bob@example.com