#!/bin/bash
#创建密钥
\rm ~/.ssh/id_rsa* -f
ssh-keygen -t rsa -f /root/.ssh/id_rsa -P "" -q
#分发秘钥
for ip in 10.0.0.{102..104}
do
ping -c2 -i0.1 $ip &>/dev/null
if [ $? -eq 0 ];then
sshpass -p123 ssh-copy-id -i /root/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@$ip &>/dev/null
echo "$ip密钥分发成功"
else
echo "$ip无法ping通请检查网络"
fi
done
注释:
sshpass:专为ssh连接服务的免交户工具
-p :指定登录的密码
ssh-copy-id:自动分发公钥的工具
-i:指定公钥路径
-o StrictHostKeyChecking=no :不进行对方主机信息的写入(第一次ssh连接会在know_hosts文件里记录)
ping -c2是ping的次数
-i0.1是ping的频率,每0.1秒ping一次