Advertisement
Guest User

Untitled

a guest
Apr 19th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.45 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. set -e
  4. set +x
  5.  
  6. VDOCS_HOME_DIR=$VDOCS_HOME
  7. REPORT_SERVER=`echo $REPORT_SERVER | xargs`
  8. SSH_USERNAME=`echo $SSH_USERNAME | xargs` # Trim whitespace
  9. SSH_CONNECTION="ssh -q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
  10.  
  11. echo "VDOCS_HOME_DIR: $VDOCS_HOME_DIR"
  12. echo "REPORT_SERVER: $REPORT_SERVER"
  13. echo "SSH_USERNAME: $SSH_USERNAME"
  14.  
  15. echo ""
  16. echo "-------------------------------------------------------------------"
  17. echo "Determining SSH user for $REPORT_SERVER"
  18. echo "-------------------------------------------------------------------"
  19. echo ""
  20.  
  21. set +e
  22.  
  23.  
  24. function test_ssh(){
  25.     # Takes server as first parameter
  26.     local server=$1
  27.     # Tries with list of users
  28.     for user in $SSH_USERNAME mmsdev mmsvdocs
  29.     do
  30.         echo -n "Trying with user $user..."
  31.         $SSH_CONNECTION $user@$server "exit"
  32.         if [[ $? -eq 0 ]]; then
  33.             SSH_USERNAME="$user"
  34.             echo "[SUCCESS]"
  35.             # Return first suitable user found
  36.             return $user
  37.             continue
  38.         else
  39.             echo "[FAILED]"
  40.         fi
  41.     done
  42.     # No good users found
  43.     return failure
  44. }
  45.  
  46.  
  47. # Loops over all report servers
  48. for server in $REPORT_SERVER
  49. do
  50.     # Test if we can log in
  51.     username=$(test_ssh $server)
  52.     [ $username == "failure"] && echo "No suitable users for $server" && continue
  53.     # If we can login, keep going
  54.     echo "Doing stuff for $server with $username"
  55.  
  56. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement