老大直接给了30台新鲜的生产服务器,要给每一台服务器增加一个用户,密码相同

难道我们要部署一个工具吗?这样对生产环境可能会产生影响,为了保证服务器的新鲜以及节约时间,研究了小半天,终于研究出一个不是很智能的shell脚本

第一步:我们还是要把其中一台当成服务器

生成密钥:ssh-keygen -t rsa

第二步:在这台服务器上编辑三个文件:all.sh这个文件主要是传输ssh密钥,传送另外两个文件,进入每个系统执行其他两个脚本文件的;useradd.sh这个文件主要是用来在每个系统里增加用户的;users。list这个文件主要是提供用户名称的

1.

for IP in $(more ip.list)
do
if [ -n $IP ]
then
ssh-copy-id -i /root/.ssh/id_rsa.pub $IP
 echo
fi
done

for IP in $(more ip.list)
do
if [ -n $IP ]
then
 scp /useradd.sh /users.list $IP:/root
 echo
fi
done

rm -f /root/.ssh/*
for IP in $(more ip.list)
do
 if [ -n $IP ]
then
 ssh $IP
 echo "login successful!"
else
 echo "sorry"
fi
done

2.useradd.sh

#! /bin/bash
#
#batch add users with file called users.list
#
#cd /root
for username in $(more users.list)
do
if [ -n $username ]
then
 useradd -m $username
 echo
 echo $username"123" | passwd --stdin $username
 echo
 echo "User $username's password is changed!"
else
 echo "The username is null!"
fi
done

rm -f /root/useradd.sh /root/users.list
rm -f /root/.ssh/*
cat /etc/passwd | grep $username

3.users.list

tt (我们所要增加的用户名)

这三个文件编辑好之后,在这台服务器上./all.sh,不智能的点就展示出来了,传输密钥需要密码,进入系统的时候我们需要输入yes和密码,进入系统之后我们要手动的执行useradd.sh这个脚本,执行完脚本之后,我们还要手动输入exit下能跳入下一个系统中

如何给30台centos7服务器分别增加相同的用户的更多相关文章

  1. 多台centos7服务器实现SSH免密登陆

    一.环境 centos7.x 三台 node1.node2.node3 二.实现免密登陆 2.1.node1上,生成公钥与私钥 [root@node1 ~]# ssh-keygen Generatin ...

  2. Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录

    1. 启动VSFTP服务器 A:cenos下运行:yum  install  vsftpd B. 登录Linux主机后,运行命令:”service vsftpd start” C. 要让FTP每次开机 ...

  3. 【转】Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录

    转自:http://blog.csdn.net/cloudday/article/details/8640234   1. 启动VSFTP服务器 A:cenos下运行:yum  install  vs ...

  4. 多台web服务器之间共享session

    常见的几种方法如下: 1. 写客户端Cookie的方式 当用户登陆成功以后,把网站域名.用户名.密码.token.session有效时间全部采用cookie的形式写入到客户端的cookie里面,如果用 ...

  5. MySQL-5.6.30 (OpenLogic CentOS7.2)

    平台: CentOS 类型: 虚拟机镜像 软件包: centos7.2 mysql5.6.30 basic software database linux open source 服务优惠价: 按服务 ...

  6. 一台Linux服务器可以负载多少个连接?

    首先我们来看如何标识一个TCP连接?系统是通过一个四元组来识别,(src_ip,src_port,dst_ip,dst_port)即源IP.源端口.目标IP.目标端口.比如我们有一台服务192.168 ...

  7. 一台Linux服务器(4C8G配置)可以负载百万个连接?

    一台Linux服务器可以负载多少个连接? 首先我们来看如何标识一个TCP连接?系统是通过一个四元组来识别,(src_ip,src_port,dst_ip,dst_port)即源IP.源端口.目标IP. ...

  8. 双节点(nginx+keepalived)为两台apache服务器提供负载均衡

    说明:本实验为双节点nginx为两台apache服务器提供负载均衡,本文不是做lvs,所以realserver不是配置在keepalived.conf而是在nginx的配置文件中upstream.此架 ...

  9. 安装VMware vSphere 的目的就是在一台物理服务器上安装很多很多的虚拟机

    版权声明:本文为博主原创文章,未经博主允许不得转载. 我们安装VMware vSphere 的目的就是在一台物理服务器上安装很多很多的虚拟机,我们可以通过VMware vSphere Client直接 ...

随机推荐

  1. Cheating sheet for vim

  2. css选择器优选级及匹配原理(转)

    作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个例子: 给一个p标签增加一个类(class),可是执行后该class中的有些属性并没有起作用.通 ...

  3. a dive in react lifecycle

    背景:我在react文档里找生命周期的图,居然没有,不敢相信我是在推特上找到的... 正文 react v16.3 新生命周期: static getDerivedStateFromProps get ...

  4. springboot之scheduled任务调度

    springboot整合Scheduled可以方便的进行任务调度,话不多说,直接上代码 package com.rookie.bigdata; import org.springframework.b ...

  5. Java中array、List、Set互相转换

    数组转List String[] staffs = new String[]{"A", "B", "C"}; List staffsList ...

  6. vue从入门到进阶:组件Component详解(六)

    一.什么是组件? 组件 (Component) 是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功 ...

  7. Vue之axios请求数据

    引入文件 <script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js"> ...

  8. Velodyne VLP-16 gmapping 建图

    1. 测试环境 Ubuntu 16.04 x64.ROS Kinetic.Velodyne VLP-16.RoboWare Studio 2. 安装 ROS 功能包 sudo apt-get inst ...

  9. 章节七、2-Linked List

    package introduction9; import java.util.ArrayList; import java.util.LinkedList; import java.util.Lis ...

  10. git 入门教程之个性化 git

    前情概要 初识 git 时,我们就已经接触过 git 的基本配置,使用 git config 命令配置用户名和邮箱: # 配置当前项目(`local`)的用户名(`snowdreams1006`) g ...