Advertisement
szaszm01

Create user on remote host

May 18th, 2017
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.67 KB | None | 0 0
  1. #!/bin/bash
  2. HOST=$1
  3. USER=$2
  4. SSH_PUBKEY_FILE=$3
  5.  
  6. if [ -z "$HOST" -o -z "$USER" -o -z "$SSH_PUBKEY_FILE" ]
  7. then
  8.         echo "Usage: $0 <host> <user> <ssh_authorized_keys_file>"
  9.         exit 1
  10. fi
  11.  
  12. USER_ENTRY="`ssh "${HOST}" getent passwd "${USER}"`"
  13. if [ ! -z "$USER_ENTRY" ]
  14. then
  15.         echo "User ${USER} already exists on ${HOST}"
  16.         echo "${USER_ENTRY}"
  17.         exit 1
  18. fi
  19.  
  20. ssh "root@$HOST" "
  21. useradd -m -s /bin/bash -U ${USER}
  22. su ${USER} -c 'cd;mkdir .ssh;chmod 700 .ssh'
  23. "
  24.  
  25. scp "$3" "root@$HOST":/home/"$USER"/.ssh/authorized_keys
  26.  
  27. ssh "root@$HOST" "
  28. chown ${USER}:${USER} -R /home/"${USER}"/.ssh
  29. chmod 600 /home/"${USER}"/.ssh/authorized_keys
  30. "
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement