ssh分发密钥脚本

使用场景 ->ansible

#!/bin/bash
#author: kylerock
#desc:
#   1.一键创建秘钥对(如果不存在)
#   2.一键分发公钥
#   3.一键检查

#1. vars
key=/root/.ssh/id_rsa
ips="7 31 41"
pass=1

#ips="`cat /server/files/ip.txt`"
#2. 一键创建秘钥对
if [ ! -f $key ];then
  ssh-keygen  -f $key   -P  ''  >/dev/null  2>&1
  if [ $? -eq 0 ];then
     echo "秘钥对创建成功"
  else
     echo "密钥对创建失败"
     exit 1
  fi
fi

#3. 一键分发公钥
echo "分发公钥-开始"
for ip  in  $ips
do
      sshpass -p$pass ssh-copy-id -o StrictHostKeyChecking=no 172.16.1.$ip 
      #这里也可以通过$? + if判断公钥分发是否成功
done
echo "分发公钥-完成"

#4. 一键检查
echo "检查-开始"
for ip in $ips 
do
      ssh  -o StrictHostKeyChecking=no  172.16.1.$ip  hostname -I 
      #这里也可以通过$? + if执行是否成功
done
echo "检查-结束"
posted @   kyle_7Qc  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示