Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env bash
- newsshuser() {
- USER="$1"
- shift
- SSH_PUBLIC_KEY="$*"
- PASSWORD=$(< /dev/urandom tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
- sudo adduser "${USER}"
- echo "${USER}":"${PASSWORD}" | sudo chpasswd
- sudo usermod -a -G sudo "${USER}"
- sudo mkdir /home/"${USER}"/.ssh
- echo "${SSH_PUBLIC_KEY}" | sudo tee -a /home/"${USER}"/.ssh/authorized_keys
- sudo chmod 755 /home/"${USER}"/.ssh
- sudo chmod 644 /home/"${USER}"/.ssh/authorized_keys
- sudo chown -R "${USER}"."${USER}" /home/"${USER}"/.ssh
- echo "Created new user ${USER} with password '${PASSWORD}'."
- }
- if declare -f "$1" > /dev/null
- then
- "$@"
- else
- echo "'$1' is not a known function name, try newsshuser" >&2
- exit 1
- fi
- # Example sh tools.sh newsshuser johns ssh-rsa ABCDE...FGHIabcdX== johns@smith.com
Add Comment
Please, Sign In to add comment