[root@ansible-server ansible]# cat ssh_key_push.sh #!/bin/bash # #********************************************************************************************** #FileName: ssh_key_push.sh #Description: ssh_key_push for CentOS 7/8 & Ubuntu 18.04/24.04 & Rocky 8 #Copyright (C): 2021 All rights reserved #********************************************************************************************* COLOR="echo -e \\033[01;31m" END='\033[0m' export SSHPASS=123456 HOSTS=" 172.31.0.101 172.31.0.102 172.31.0.103 172.31.0.104 172.31.0.105" os(){ OS_ID=`sed -rn '/^NAME=/s@.*="([[:alpha:]]+).*"$@\1@p' /etc/os-release` } ssh_key_push(){ rm -rf ~/.ssh ssh-keygen -f /root/.ssh/id_rsa -P '' &> /dev/null if [ ${OS_ID} == "CentOS" -o ${OS_ID} == "Rocky" ] &> /dev/null;then rpm -q sshpass &> /dev/null || { ${COLOR}"安装sshpass软件包"${END};yum -y install sshpass &> /dev/null; } else dpkg -S sshpass &> /dev/null || { ${COLOR}"安装sshpass软件包"${END};apt -y install sshpass &> /dev/null; } fi for i in $HOSTS;do { sshpass -e ssh-copy-id -o StrictHostKeyChecking=no -i /root/.ssh/id_rsa.pub $i &> /dev/null echo $i is finished }& done wait } main(){ os ssh_key_push } main [root@ansible-server ansible]# bash ssh_key_push.sh 172.31.0.104 is finished 172.31.0.102 is finished 172.31.0.101 is finished 172.31.0.105 is finished 172.31.0.103 is finished
标签:sshpass,dev,sh,ssh,key,push,172.31 From: https://www.cnblogs.com/gaoyuechen/p/16796361.html