#!/bin/bash
/usr/bin/which expect
#检查expect是否安装
if [ $? -ne 0 ]
then
yum -y install expect &>/dev/null
fi
#生成自己的密钥
if [ ! -f ~/.ssh/id_rsa ]
then
ssh-keygen -P "" -f /root/.ssh/id_rsa &>/dev/null
fi
#传密钥
pass=1
ips=192.168.1
systemctl start sshd
for i in {2..254}
do
{
(
ping -c 1 -W 1 $ips.$i &>/dev/null
if [ $? -eq 0 ];then
/usr/bin/expect <<-EOF
spawn ssh-copy-id $ips.$i
expect {
"yes/no" { send "yes\r" ; exp_continue }
"password:" { send "$pass\r"};
}
expect eof
EOF
fi
)&
}&>/dev/null
done
wait
echo "完成公钥传递"