一键自动化批量安装服务脚本
一键自动化给多台服务器安装vsftpd服务
1.ip规划,这里根据自己ip灵活调整
管理机 172.16.1.61
服务器 172.16.1.31、172.16.1.41
2.管理机切换到root用户,安装expect(非交互式工具,只需要在管理机上安装 yum install expect -y)
3.添加用户(所有机器)
useradd huang123
echo '123456' | passwd --stdin huang123
id huang123
4.sudo提权(所有机器)
echo "huang123 ALL=NOPASSWD:ALL" >> /etc/sudoers
visudo -c
su - huang123
5.具体步骤(以下代码及相关操作在管理机上执行)
a.创建秘钥对(管理机)
b.分发公钥到服务器
c.复制安装文件到服务器
d.执行安装过程
代码位于管理机用户huang123家目录的scripts文件夹下(没有scripts自己创建)
创建秘钥对 create_sshkey.sh
#!/bin/sh
. /etc/init.d/functions
/usr/bin/ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa > /dev/null 2>&1
if [ $? -eq 0 ];then
action "create dsa" /bin/true
else
action "create dsa" /bin/false
exit
fi
分发秘钥对 send_sshkey.sh
#!/bin/sh
. /etc/init.d/functions
for ip in 41 31
do
/usr/bin/expect ~/scripts/send_sshkey.exp ~/.ssh/id_dsa.pub 172.16.1.$ip
if [ $? -eq 0 ];then
action "$ip" /bin/true
else
action "$ip" /bin/false
fi
done
说明:这里 ~/.ssh/id_dsa.pub和172.16.1.$ip为具体执行分发任务的send_sshkey.exp所需参数
分发秘钥对具体执行方法 send_sshkey.exp
#!/usr/bin/expect
if { $argc != 2 } {
send_user "usage:expect send_sshkey.exp file host\n"
exit
}
#define var
set file [lindex $argv 0]
set host [lindex $argv 1]
set password "123456"
spawn /usr/bin/ssh-copy-id -i $file "-p 22 huang123@$host"
expect {
"yes/no" {send "yes\r";exp_continue}
"password" {send "$password\r"}
}
expect eof
安装 install.sh
for m in 31 41
do
/usr/bin/scp -P 22 ~/scripts/exec.sh huang123@172.16.1.$m:~
/usr/bin/ssh -p 22 -t huang123@172.16.1.$m sudo bash ~/exec.sh
done
安装具体执行方法 exec.sh
yum install vsftpd -y
#执行
sh create_ssh.sh
#创建成功后在用户huang123家目录有一个.ssh的隐藏文件(使用ls -al查看)
sh send_sshkey.sh
#分发公钥到服务器 send_sshkey.sh,成功后在服务器huang123家目录下多了一个.ssh的隐藏文件
sh install.sh
#成功可以看到具体的安装过程
文件结构如下图所示:
一键自动化批量安装服务脚本相关推荐
- shell一键自动化批量安装服务
非交互式生成秘钥及实现批量管理 1.创建用户及密码(所有的机器都要执行) useradd ydl echo 123456|passwd --stdin ydl id ydl su - ydl 2.生成 ...
- centos环境自动化批量安装软件脚本
自动化安装jdk软件部署脚本 准备工作: 1.在执行脚本的服务器上生成免密码公钥: 安装expect命令 yum install -y expect ssh-keygen 三次回车 2.将jdk-7u ...
- 批量安装zabbix-agent脚本
批量安装zabbix-agent脚本,为了方便识别名称,自动根据IP最后一位对主机进行重命名操作,方便zabbix-server开启批量注册时,名称识别时用.也避免zabbix-server老是30分 ...
- Linux系列——自动化批量安装软件
前言 使用脚本为集群自动化安装软件,能给开发者省很多时间. 准备工作: 带有安装包的服务器需要有httpd.scp命令(也可以写到脚本里面) yum install -y httpd openssh- ...
- Cobbler自动化批量安装Linux操作系统
安装Cobbler 环境: 上传镜像 上传系统安装镜像文件CentOS-7-x86_64-Minimal-1908.iso到/zoom, 关闭防火墙 systemctl stop firewalld ...
- 自动化批量漏洞扫描脚本定制
github上找到一款并发框架[POC-T](https://github.com/Xyntax/POC-T)可以优美的进行并发操作,上面所述的内容大多可以用插件联合POC-T进行. 因为POC-T不 ...
- linux自动化安装oracle,ftp的客户端软件 Linux环境一键自动化安装oracle软件的构想(附she...
一.自动化批量安装ORACLE软件的构想 1.1构想从哪里来? 熟悉PXE+KICKSTART一键批量安装Liunx操作系统的童鞋都知道,该方式可实现快速定制,规范化,自动化的无人值守安装.基于此方式 ...
- PS学习笔记------运用脚本及自动化批量处理
PS学习笔记------运用脚本及自动化批量处理 简单脚本运行+自动批处理多图片 简单脚本运行 自动批处理图片 简单脚本运行+自动批处理多图片 本次实现的功能是: 1.运用脚本在ps中将图片的文档名称 ...
- pxe实现自动化部署安装高效批量网络装机
文章目录 前言 一.pxe简介 1.1pxe是什么? 1.2PXE批量部署的优缺点 1.3搭建PXE网络体系前提条件 1.3.1服务端 1.3.2客户端 二.PXE服务的构建过程 三.搭建PXE远程安 ...
最新文章
- 【opencv】(3) 图像滤波:均值、方框、中值、高斯
- linux学习中遇到的各种故障与解决方法
- java中final使用
- CSS之calc()使用
- 操作系统之内存管理:2、内存管理的功能(内存分配回收、扩充、地址转化、存储保护)
- c语言期末考试复习题,C语言期末考试复习资料 计算机等级考试复习题目
- PyTorch并行与分布式(一)概述
- html em vw,rem em 与vh vw的用法简单介绍
- Oracle安装详细教程
- Redis设计与实现笔记 |目录
- 2021年安全生产模拟考试(建筑安全员A证-企业负责人模拟考试题库)安考星
- 利用Hilbert变换进行相位调制信号的解调
- 2021-11-03
- 一个中国码农在硅谷求职的实用经历
- 分享国内常用的免费MD5在线解密网站,这5个网站很实用
- 标题:关于high-speed Charting Control配置过程中一些问题(ChartCtrl新手向)vs2019+win10-2020.12.11
- mysql如何锁表和解锁
- RecycleView 二级列表(多级列表)
- 实验24:超声波测距仪小实验
- SQLYog 数据连接配置的迁移
热门文章
- IMX6开发板支持Android|Linux + Qt|Ubuntu|Debian|Youcto系统
- 将超长emmx格式的图片(脑图)转为png/jpg格式方便在手机上查看(失败过程+三种解决方案)
- 导入Excel文件的各种常见方法
- 计算机二级java真题 百度云,计算机二级Java试题及答案
- c语言生成点阵字体,字符(图片)转化为字符(ASCII)点阵的程序,有真相
- 练习使用Geogebra【下载】中的SpreadSheet辅助作图
- Error evaluating解决xpression ‘ew.sqlSegment != null and ew.sqlSegment != ‘‘ and ew.nonEmptyOfWhere‘.
- 平面设计师必须明白的视觉引导方法有哪些?
- 华东师范大学 软件工程 2020年可信人工智能优秀大学生夏令营机试
- Redis在linux上安装教程,超级详细