Guest User

Untitled

a guest
Feb 2nd, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. newsshuser() {
  4. USER="$1"
  5. shift
  6. SSH_PUBLIC_KEY="$*"
  7. PASSWORD=$(< /dev/urandom tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
  8. sudo adduser "${USER}"
  9. echo "${USER}":"${PASSWORD}" | sudo chpasswd
  10. sudo usermod -a -G sudo "${USER}"
  11. sudo mkdir /home/"${USER}"/.ssh
  12. echo "${SSH_PUBLIC_KEY}" | sudo tee -a /home/"${USER}"/.ssh/authorized_keys
  13. sudo chmod 755 /home/"${USER}"/.ssh
  14. sudo chmod 644 /home/"${USER}"/.ssh/authorized_keys
  15. sudo chown -R "${USER}"."${USER}" /home/"${USER}"/.ssh
  16. echo "Created new user ${USER} with password '${PASSWORD}'."
  17. }
  18.  
  19. if declare -f "$1" > /dev/null
  20. then
  21. "$@"
  22. else
  23. echo "'$1' is not a known function name, try newsshuser" >&2
  24. exit 1
  25. fi
  26.  
  27. # Example sh tools.sh newsshuser johns ssh-rsa ABCDE...FGHIabcdX== johns@smith.com
Add Comment
Please, Sign In to add comment