#清除互信 填写IP
ssh-keygen -R IP
#如果还不行 查到相应的IP删除
vi ~/.ssh/known_hosts
#!/bin/bash
#增加端口 使用2233 默认端口可以不加
#desc: 一键创建秘钥对 分发秘钥对
#1.vars
pass=123456 #服务器的密码
ips="10.110.13.45" #ip 列表 两个IP间用空格
. /etc/init.d/functions
#1.4 判断是否联网或是否可以使用yum
#1.5 加入判断sshpass命令是否存在,如果不存在则安装
#2.创建秘钥对
if [ -f ~/.ssh/id_rsa ] ;then
echo "已经创建过秘钥对"
else
echo "正在创建秘钥对...."
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' &>/dev/null
if [ $? -eq 0 ];then
action "密钥创建成功" /bin/true
else
action "密钥创建失败" /bin/false
fi
fi
#3.通过循环发送公钥
for ip in $ips
do
# sshpass -P 2233 -p${pass} ssh-copy-id -i ~/.ssh/id_rsa.pub -oStrictHostKeyChecking=no $ip &>/dev/null
sshpass -p${pass} ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no -p2233 $ip &>/dev/null
if [ $? -eq 0 ];then
action "$ip 公钥分发 成功" /bin/true
else
action "$ip 公钥分发 失败" /bin/false
fi
done
#检查互信
#!/bin/bash
#desc 检查ssh互信脚本
ip_list="10.110.13.12 10.100.13.31 10.110.13.44 10.110.13.45"
echo='------------------------------------------'
echo='批量执行命令'
echo='------------------------------------------'
for ip in $ip_list
do
ssh -p 2233 root@$ip $@
done
~
~
sh ./check.sh hostname
[root@osserver scripts]# sh ./check.sh hostname
19c
ERPDB
ansible01
ansible02