Skip to content
bash
#!/bin/bash
#判断本机是否有公匙文件
if [ ! -f /root/.ssh/id_rsa.pub ]    
then
# -f 指定文件位置
# -P 指定密语
# -q 静默模式
	 ssh-keygen -t rsa -f /root/.ssh/id_rsa  -P "" -q  
 fi
 #判断自己是否安装sshpass
 oo=`dpkg -l |grep   sshpass | wc -l`
 if [ $oo -eq 0 ]
 then
	 apt install -y sshpass
	  #   echo "sshpass not install , please install sshpass!"
	      exit
      fi
      #定义主机列表数组
      declare -a HostAddress
      #输入passwd
      read -p "please input passwd : " PassWd
      #输入网段,只需要输入前三个,例如10.0.0 后面没小数点
      read -p "please input network segment : " NetSeg
      #输入主机位,各个主机位适应空格隔开
      echo -n "input hostaddress ,space separate : "
      read -a HostAddress
      #开始分发公匙
      for ip in ${HostAddress[@]}
      do
	        sshpass -p $PassWd ssh-copy-id -i /root/.ssh/id_rsa.pub root@$NetSeg.$ip -o StrictHostKeyChecking=no &>/dev/null
		  ssh $NetSeg.$ip hostname
	  done