CentOS ssh免密钥分发shell脚本3 min read

  • A+
所属分类:Linux运维 未分类

Version:1.1

 

使用方法:sh 此脚本 Host Port Password 

  

  1. #!/bin/bash  
  2.   
  3. [ -f /etc/init.d/functions ] && source /etc/init.d/functions  
  4. [ -f /etc/profile ] && source /etc/profile  
  5.   
  6. Host="$1"  
  7. Port="$2"  
  8. Password="$3"  
  9.   
  10. if [ $# -ne 3 ];then  
  11.    echo -e "\033[33m Usage: $0 [Host] [Port] [Password] \033[0m"  
  12.    exit 1  
  13. fi  
  14.   
  15. function CHECK_SSHPASS() {  
  16.     Sshpass_Num=`rpm -qa|grep "sshpass" 2>/dev/null |wc -l`  
  17.     if [ ${Sshpass_Num} -lt 1 ];then  
  18.         echo -e "\033[33m No sshpass command was found, Ready to download...\033[0m"  
  19.         yum install -y sshpass &>/dev/null  
  20.         Sshpass_Num=`rpm -qa|grep "sshpass" 2>/dev/null |wc -l`  
  21.         if [  ${Sshpass_Num} -lt 1 ];then  
  22.             echo -e "\033[31m command download false...\033[0m"  
  23.             exit 2  
  24.         fi  
  25.     fi  
  26. }  
  27.   
  28. function GENERATE_KEY() {  
  29.     if [ ! -f /tmp/ssh_dsa_Overdue_verification.txt ]  
  30.       then  
  31.        touch /tmp/ssh_dsa_Overdue_verification.txt  
  32.         /bin/rm -r /root/.ssh/id* >/dev/null 2>&1  
  33.         ssh-keygen -t dsa -f /root/.ssh/id_dsa -P "" -q  
  34.     fi  
  35. }  
  36.   
  37. function OK_FALSE() {  
  38.     RETVAL=$?  
  39.     if [ $RETVAL -eq 0 ];then  
  40.         action "Key distribution..." /bin/true  
  41.       else  
  42.         action "Key distribution..." /bin/false  
  43.     fi  
  44. }  
  45.   
  46. function DISTRIBUTE_KEY() {  
  47.     for ip in "${Host}"  
  48.     do  
  49.       sshpass  -p "${Password}" ssh-copy-id -i /root/.ssh/id_dsa.pub \  
  50.       -o StrictHostKeyChecking=no -p{Port} root@{Host} >/dev/null 2>&1  
  51.     done  
  52.     OK_FALSE  
  53. }  
  54.   
  55. function main() {  
  56.     CHECK_SSHPASS  
  57.     GENERATE_KEY  
  58.     DISTRIBUTE_KEY  
  59. }  
  60. main  
  61. exit 0  

  

  

zhaoyulin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: