一键自动化给多台服务器安装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

#成功可以看到具体的安装过程

文件结构如下图所示:

一键自动化批量安装服务脚本相关推荐

  1. shell一键自动化批量安装服务

    非交互式生成秘钥及实现批量管理 1.创建用户及密码(所有的机器都要执行) useradd ydl echo 123456|passwd --stdin ydl id ydl su - ydl 2.生成 ...

  2. centos环境自动化批量安装软件脚本

    自动化安装jdk软件部署脚本 准备工作: 1.在执行脚本的服务器上生成免密码公钥: 安装expect命令 yum install -y expect ssh-keygen 三次回车 2.将jdk-7u ...

  3. 批量安装zabbix-agent脚本

    批量安装zabbix-agent脚本,为了方便识别名称,自动根据IP最后一位对主机进行重命名操作,方便zabbix-server开启批量注册时,名称识别时用.也避免zabbix-server老是30分 ...

  4. Linux系列——自动化批量安装软件

    前言 使用脚本为集群自动化安装软件,能给开发者省很多时间. 准备工作: 带有安装包的服务器需要有httpd.scp命令(也可以写到脚本里面) yum install -y httpd openssh- ...

  5. Cobbler自动化批量安装Linux操作系统

    安装Cobbler 环境: 上传镜像 上传系统安装镜像文件CentOS-7-x86_64-Minimal-1908.iso到/zoom, 关闭防火墙 systemctl stop firewalld ...

  6. ​​​​​​​自动化批量漏洞扫描脚本定制

    github上找到一款并发框架[POC-T](https://github.com/Xyntax/POC-T)可以优美的进行并发操作,上面所述的内容大多可以用插件联合POC-T进行. 因为POC-T不 ...

  7. linux自动化安装oracle,ftp的客户端软件 Linux环境一键自动化安装oracle软件的构想(附she...

    一.自动化批量安装ORACLE软件的构想 1.1构想从哪里来? 熟悉PXE+KICKSTART一键批量安装Liunx操作系统的童鞋都知道,该方式可实现快速定制,规范化,自动化的无人值守安装.基于此方式 ...

  8. PS学习笔记------运用脚本及自动化批量处理

    PS学习笔记------运用脚本及自动化批量处理 简单脚本运行+自动批处理多图片 简单脚本运行 自动批处理图片 简单脚本运行+自动批处理多图片 本次实现的功能是: 1.运用脚本在ps中将图片的文档名称 ...

  9. pxe实现自动化部署安装高效批量网络装机

    文章目录 前言 一.pxe简介 1.1pxe是什么? 1.2PXE批量部署的优缺点 1.3搭建PXE网络体系前提条件 1.3.1服务端 1.3.2客户端 二.PXE服务的构建过程 三.搭建PXE远程安 ...

最新文章

  1. 【opencv】(3) 图像滤波:均值、方框、中值、高斯
  2. linux学习中遇到的各种故障与解决方法
  3. java中final使用
  4. CSS之calc()使用
  5. 操作系统之内存管理:2、内存管理的功能(内存分配回收、扩充、地址转化、存储保护)
  6. c语言期末考试复习题,C语言期末考试复习资料 计算机等级考试复习题目
  7. PyTorch并行与分布式(一)概述
  8. html em vw,rem em 与vh vw的用法简单介绍
  9. Oracle安装详细教程
  10. Redis设计与实现笔记 |目录
  11. 2021年安全生产模拟考试(建筑安全员A证-企业负责人模拟考试题库)安考星
  12. 利用Hilbert变换进行相位调制信号的解调
  13. 2021-11-03
  14. 一个中国码农在硅谷求职的实用经历
  15. 分享国内常用的免费MD5在线解密网站,这5个网站很实用
  16. 标题:关于high-speed Charting Control配置过程中一些问题(ChartCtrl新手向)vs2019+win10-2020.12.11
  17. mysql如何锁表和解锁
  18. RecycleView 二级列表(多级列表)
  19. 实验24:超声波测距仪小实验
  20. SQLYog 数据连接配置的迁移

热门文章

  1. IMX6开发板支持Android|Linux + Qt|Ubuntu|Debian|Youcto系统
  2. 将超长emmx格式的图片(脑图)转为png/jpg格式方便在手机上查看(失败过程+三种解决方案)
  3. 导入Excel文件的各种常见方法
  4. 计算机二级java真题 百度云,计算机二级Java试题及答案
  5. c语言生成点阵字体,字符(图片)转化为字符(ASCII)点阵的程序,有真相
  6. 练习使用Geogebra【下载】中的SpreadSheet辅助作图
  7. Error evaluating解决xpression ‘ew.sqlSegment != null and ew.sqlSegment != ‘‘ and ew.nonEmptyOfWhere‘.
  8. 平面设计师必须明白的视觉引导方法有哪些?
  9. 华东师范大学 软件工程 2020年可信人工智能优秀大学生夏令营机试
  10. Redis在linux上安装教程,超级详细