将服务器的IP及密码写入文件
vim secret.txt
192.168.3.10 123123
192.168.3.2 123123
编写分发公钥分发脚本
vim fenfa.sh
#!/bin/bash
rm -rf ~/.ssh/id_rsa*
ssh-keygen -f ~/.ssh/id_rsa -P "" > /dev/null 2>&1
Key_Path=~/.ssh/id_rsa.pub
cat /root/secret.txt | while read line
do
ip=$(echo "$line" |awk -F' ' '{print $1}')
SSH_Pass=$(echo "$line" |awk -F' ' '{print $2}')
sshpass -p$SSH_Pass ssh-copy-id -i $Key_Path "-o
StrictHostKeyChecking=no" $ip
done
# 非交互式分发公钥命令需要用sshpass指定ssh密码,通过-o St
rictHostKeyChecking=no 跳过ssh连接确认信息
执行脚本
sh fenfa.sh