linux免密脚本

76 阅读1分钟
#!/bin/bash

#1.生成秘钥
if [ -f /root/.ssh/id_rsa ]
then
 	echo "秘钥已经创建过了"
else
	#创建密钥并将其存储到指定目录,-N 将默认操作为空
 	ssh-keygen -t dsa -f /root/.ssh/id_rsa -N '' > /dev/null 2>&1
 	echo "秘钥已经创建"
fi
#安装密码工具
yum install sshpass -y
#对headIp修改为自己的Ip
#192.168.1.12
#headIp 则为 192.168.1
headIp="XXX.XXX.XXX"
for ip in {XX,XX}
do
    echo "========================================"
     #2.分发秘钥
    sshpass -p 'root' ssh-copy-id ${headIp}.${ip} -o	 StrictHostKeyChecking=no > /dev/null 2>&1
    if [ $? == 0 ]
    then
     	echo "秘钥分发完毕: ${headIp}.${ip}"
    else
     	echo "秘钥分发失败"
    fi
     #3.测试
     ssh ${headIp}.${ip} hostname
    if [ $? == 0 ]
    then
     	echo "执行成功!"
     else
     	echo "执行失败!"
     fi
done