Advertisement
Guest User

Untitled

a guest
Jun 20th, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1. #!/bin/bash
  2. #for centos user must first install epel-release, sshpass, and nmap (sshpass and nmap are available from epel-release for CENTOS)
  3.  
  4. #usage ./authMe2.sh [username] [password] [internalIP prefix]
  5. # ./authMe2.sh azureuser Azure@123 10.2.1
  6. USER=$1
  7. PASS=$2
  8. IPPRE=$3
  9. HEADNODE=`hostname`
  10.  
  11. mkdir -p .ssh
  12. echo -e 'yn' | ssh-keygen -f .ssh/id_rsa -t rsa -N ''
  13.  
  14. echo 'Host *' >> .ssh/config
  15. echo 'StrictHostKeyChecking no' >> .ssh/config
  16. chmod 400 .ssh/config
  17. chown azureuser:azureuser /home/azureuser/.ssh/config
  18.  
  19. nmap -sn $IPPRE.* | grep $IPPRE. | awk '{print $5}' > nodeips.txt
  20. for NAME in `cat nodeips.txt`; do sshpass -p $PASS ssh -o ConnectTimeout=2 $USER@$NAME 'hostname' >> nodenames.txt;done
  21.  
  22. NAMES=`cat nodenames.txt` #names from names.txt file
  23. for NAME in $NAMES; do
  24. sshpass -p $PASS scp -o "StrictHostKeyChecking no" -o ConnectTimeout=2 /home/$USER/nodenames.txt $USER@$NAME:/home/$USER/
  25. sshpass -p $PASS ssh -o ConnectTimeout=2 $USER@$NAME "mkdir .ssh && chmod 700 .ssh"
  26. sshpass -p $PASS ssh -o ConnectTimeout=2 $USER@$NAME "echo -e 'yn' | ssh-keygen -f .ssh/id_rsa -t rsa -N ''"
  27. sshpass -p $PASS ssh -o ConnectTimeout=2 $USER@$NAME 'touch /home/'$USER'/.ssh/config'
  28. sshpass -p $PASS ssh -o ConnectTimeout=2 $USER@$NAME 'echo "Host *" > /home/'$USER'/.ssh/config'
  29. sshpass -p $PASS ssh -o ConnectTimeout=2 $USER@$NAME 'echo StrictHostKeyChecking no >> /home/'$USER'/.ssh/config'
  30. sshpass -p $PASS ssh -o ConnectTimeout=2 $USER@$NAME 'chmod 400 /home/'$USER'/.ssh/config'
  31. cat .ssh/id_rsa.pub | sshpass -p $PASS ssh -o ConnectTimeout=2 $USER@$NAME 'cat >> .ssh/authorized_keys'
  32. sshpass -p $PASS scp -o "StrictHostKeyChecking no" -o ConnectTimeout=2 $USER@$NAME:/home/$USER/.ssh/id_rsa.pub .ssh/sub_node.pub
  33.  
  34. for SUBNODE in `cat nodeips.txt`; do
  35. sshpass -p $PASS ssh -o ConnectTimeout=2 $USER@$SUBNODE 'mkdir -p .ssh'
  36. cat .ssh/sub_node.pub | sshpass -p $PASS ssh -o ConnectTimeout=2 $USER@$SUBNODE 'cat >> .ssh/authorized_keys'
  37. done
  38. sshpass -p $PASS ssh -o ConnectTimeout=2 $USER@$NAME 'chmod 700 .ssh/'
  39. sshpass -p $PASS ssh -o ConnectTimeout=2 $USER@$NAME 'chmod 640 .ssh/authorized_keys'
  40.  
  41. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement