Shell脚本学习-阶段六-密钥的批量分发与执行
文章目录-Shell阶段六-密钥的批量分发与执行
- 前言
- 一,开始部署ssh密钥的批量分发
- 第一步:开始安装sshpass免交互工具并进行SSH-key的批量分发
- 下载epel源并更新yum仓库,安装sshpass工具
- 第二步:创建密钥对文件
- 免交互创建密钥对
- 第三步:免交户方式分发公钥
- 第四步:测试ssh密钥认证情况
- 第五步:编写ssh密钥对免交户批量分发脚本
- 第六步:脚本分发测试
- 总结
前言
# 【SSH项目实战】脚本密钥的批量分发与执行
一,开始部署ssh密钥的批量分发
第一步:开始安装sshpass免交互工具并进行SSH-key的批量分发
下载epel源并更新yum仓库,安装sshpass工具
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum -y clean all
yum makecacheyum -y install sshpass
第二步:创建密钥对文件
免交互创建密钥对
命令说明:
ssh-keygen:生成密钥对命令
-t:指定密钥对的密码加密类型(rsa,dsa两种)
-f:指定密钥对文件的生成路径包含文件名
-P(大写):指定密钥对的密码
ssh-keygen -t dsa -f ~/.ssh/id_dsa -P “”ls ~/.ssh/
第三步:免交户方式分发公钥
命令说明:
sshpass:专为ssh连接服务的免交户工具
-p :指定登录的密码
ssh-copy-id:自动分发公钥的工具
-i:指定公钥路径
-o StrictHostKeyChecking=no :不进行对方主机信息的写入(第一次ssh连接会在know_hosts文件里记录)
sshpass -p “ssh登录密码” ssh-copy-id -i ~/.ssh/id_dsa.pub “-o StrictHostKeyChecking=no root@172.16.1.31”
第四步:测试ssh密钥认证情况
ssh root@172.16.1.31 #测试成功,免密码ssh连接
第五步:编写ssh密钥对免交户批量分发脚本
# /bin/bash
# description:SSH密钥批量分发User=root
passWord=##Linux登录密码function YumBuild(){echo "正在安装epel源yum仓库,请稍后..."
cd /etc/yum.repos.d/ &&\
[ -d bak ] || mkdir bak
[ `find ./*.* -type f | wc -l` -gt 0 ] && find ./*.* -type f | xargs -i mv {} bak/
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo &>/dev/null
yum -y clean all &>/dev/null
yum makecache &>/dev/null}echo "正在进行网络连接测试,请稍后..."
ping www.baidu.com -c2 >/dev/null ||(echo "无法连同外网,本脚本运行环境必须和外网相连!" && exit)
[ $# -eq 0 ] && echo "没有参数!格式为:sh $0 参数1...n" && exit
rpm -q sshpass &>/dev/null || yum -y install sshpass &>/dev/null
if [ $? -gt 0 ];thenYumBuildyum -y install sshpass &>/dev/null || (echo "sshpass build error!" && exit)
fi
[ -d ~/.ssh ] || mkdir ~/.ssh;chmod 700 ~/.ssh
echo "正在创建密钥对...."
rm -rf ~/.ssh/id_dsa ~/.ssh/id_dsa.pub
ssh-keygen -t dsa -f ~/.ssh/id_dsa -P "" &>/dev/null
for ip in $*
doping $ip -c1 &>/dev/null if [ $? -gt 0 ];thenecho "$ip无法ping通请检查网络" continuefisshpass -p "$passWord" ssh-copy-id -i ~/.ssh/id_dsa.pub "-o StrictHostKeyChecking=no ${User}@$ip" &>/dev/nullecho "$ip 密钥分发成功"
done
第六步:脚本分发测试
sh /server/scripts/ssh_key.sh 172.16.1.5 172.16.1.6 172.16.1.7 172.16.1.8 172.16.1.51 172.16.1.31 172.16.1.41 172.16.1.61
总结
Shell脚本学习-阶段六-密钥的批量分发与执行相关推荐
- Shell脚本学习-阶段二
文章目录-Shell脚本学习阶段二 前言 shell脚本实操2 1.获取随机字符串或数字 2.定义一个颜色输出字符串函数 3.批量创建用户 4.检查软件包是否安装 5.检查服务状态 6.检查主机存活状 ...
- 【SSH项目实战】脚本密钥的批量分发与执行【转】
[TOC] 前言 <项目实战>系列为<linux实战教学笔记>第二阶段内容的同步教学配套实战练习,每个项目循序衔接最终将组成<Linux实战教学笔记>第二阶段核心教 ...
- Shell脚本学习-阶段二十七-命令解释三
文章目录 前言 quyotastats repquota convertquota swapoff swapon sync chroot getent last lastb lastlog logro ...
- Shell脚本学习-阶段二十七-命令解释一
文章目录-命令解释一 前言 as expr gcc gcov gdb indent ld ldconfig ldd make mktemp nm objdump perl php protoize u ...
- Shell脚本学习-阶段三
文章目录-Shell学习阶段三 前言 1.用shell脚本批量建立Linux用户 2. 编写shell脚本,将/usr/local/test目录下大于100k的文件转移到/tmp目录下: 3.通过ap ...
- Shell脚本学习-阶段一
文章目录 阶段一 前言 Shell脚本实例 1.hello world 2.创建用户: 2.1 通过位置变量创建用户 2.2提示用户输入用户名和密码创建用户 2.3读取user.txt文件中的用户名批 ...
- Shell脚本学习-阶段二十七-命令解释二
文章目录-命令解释二 前言 emacs jed joe nano================ pico sed=================== vi,vim============ mtyp ...
- Shell脚本学习-阶段四-mysqladmin
文章目录-Shell学习-阶段四mysqladmin 前言 20条mysql的mysqladmin 1.设置mysql的root密码 2.更改mysql的root密码 3.确保mysql Server ...
- Shell脚本学习-阶段二十八-shell练习二
文章目录-练习2 前言 1.编写shell脚本程序,完成如下功能: 输出hello world ! 2.编写shell脚本程序,完成如下功能: 输入你的姓名,输出 hello, nice to mee ...
最新文章
- stm32怎么用keil软件进行仿真?(必需掌握的技能)
- 数组与字符串三(Cocos2d-x 3.x _Array容器)
- [JBoss] - 环境搭建
- 锤子濒危、金立倒闭,华米 OV 们如何艰难求生?
- pat甲级什么水平_转让河北工程设计建筑行业(建筑工程)甲级资质
- spring中bean属性scope
- 《Android软件安全与逆向分析》— Android 书籍
- 拿了工资就要干活,不干活不是成了骗钱?
- cydia 未能连接服务器,cydia无法加载,详细教您cydia无法加载怎么解决
- 三部曲打造无路由器破解闪讯WiFi共享 经好几个同学验证
- 启动分区不存在,使用分区工具修正
- 当代博物馆中的3DGIS虚拟现实搭建
- 手机传感器你知道多少个?
- 微信小程序:经典语录大全微信小程序源码
- 前端css单位小结:vh、vw、百分比、rem、px、计算属性calc
- 微信小程序Day4学习笔记
- java空指针异常【解决思路-方法】
- 【语义分割】2021-PVT ICCV
- 前端小白系列之——导言
- PCL小工具二:使用kitti的GT(ground truth)建立激光点云地图
热门文章
- Linux 的 复制命令 【 cp 】 (copy)及其 (常用参数 -fp)
- 【Oracle】ORA-06510: PL/SQL: 用户定义的异常错误未得到处理
- 关于安装QTP之后造成环境变量java冲突问题的解决方案
- 同时安装Python2,Python3如何解决冲突问题【官方解法】
- springboot2.0处理自定义异常始终返回json
- 安装Jenkins后 启动时失败的问题解决
- python解决高并发的方法
- Android App自动更新解决方案(DownloadManager)
- 树莓派-解决apt-get upgrade速度慢的方法[更换阿里云源]
- 如何手动触发onchange事件? [重复]