Linux记录-Shell自动化部署批量建立用户和批量SSH配置(转载)
if [ ! $# -eq 2 ] ; then
echo "请输入用户名和密码以空格分开!"
exit else
name="$1"
passwd="$2"
fi cat hosts | while read hosts
do echo "正在$hosts上用户$name"
expect <<EOF
spawn ssh $hosts "useradd $name; echo $name:$passwd | chpasswd"
expect {
"*yes/no" {send "yes\r" ;exp_continue}
"*password:" {send "dongliang\r" ;exp_continue }
} EOF echo "成功建立" done
if [ ! $# -eq 2 ] ;then
echo "请输入用户密码以空格分开"
exit
else
#用户名
uname="$1"
#密码
passwd="$2"
fi #执行检测并安装expect模块
ep=`rpm -qa | grep expect` if [ -z $ep ] ; then
echo "检测到你的系统,没有安装expect模块,准备执行安装"
sleep 2
yum install -y expect else
echo "已经安装expect模块,3秒后,开始执行ssh文件同步"
sleep 3
fi #公钥无ssh认证模块
cat hosts | while read host
do echo "当前正在向$host上传输ssh文件"
expect <<EOF
spawn scp -r .ssh/ $host:/$uname
expect {
"*yes/no" {send "yes\r" ;exp_continue}
"*password:" {send "$passwd\r" ;exp_continue }
} EOF echo "当前正在$host上进行公钥认证....."
sleep 2
expect <<EOF
spawn ssh-copy-id -i .ssh/id_rsa.pub $host
expect {
"*yes/no" {send "yes\r" ;exp_continue}
"*password:" {send "$passwd\r" ;exp_continue }
} EOF echo "认证成功...." done #切换root权限进行hosts文件分发 echo "同步本机的hosts文件到各个机器上" sleep 1 #同步本机的hosts文件到其他各个机器上 cat hosts | while read host
do scp -r /etc/hosts $host:/etc/ done echo "同步hosts文件完毕"
if [ ! $# -eq 2 ] ; then echo "请输入用户名密码以空格分开"
exit
else #用户的名字
uname="$1"
#用户的统一密码
pd="$2"
fi #公钥无ssh认证模块
cat hosts | while read host
do echo "当前正在向$host上传输ssh文件"
expect <<EOF
spawn scp -r .ssh/ $host:/home/$uname
expect {
"*yes/no" {send "yes\r" ;exp_continue}
"*password:" {send "$pd\r" ;exp_continue }
} EOF echo "当前正在$host上进行公钥认证....."
sleep 2
expect <<EOF
spawn ssh-copy-id -i .ssh/id_rsa.pub $host
expect {
"*yes/no" {send "yes\r" ;exp_continue}
"*password:" {send "$pd\r" ;exp_continue }
} EOF echo "认证成功...." done
Linux记录-Shell自动化部署批量建立用户和批量SSH配置(转载)的更多相关文章
- Linux记录-shell自动化批量部署sql脚本并记录日志信息(转载)
#!/bin/bash #script_version=v110 db_host=127.0.0.1 db_port=3306 db_username=db_test_inst db_passwd=` ...
- 如何在linux中批量建立用户并设置随机密码
Ubuntu是基于linux的免费开源操作系统,同时也是真正意义上的“多任务多用户”操作系统,既然是多用户系统,自然就涉及到创建多个用户的问题.同时由于Ubuntu系统中的root用户具有最高权限,无 ...
- 100个Shell脚本——【脚本7】批量建立用户
[脚本7]批量建立用户 编写shell脚本,批量建立用户user_00, user_01, ... user_100并且所有用户同属于users组. 一.脚本 #!/bin/bash group=`c ...
- Linux记录-shell 100例(转载)
1.编写hello world脚本 #!/bin/bash # 编写hello world脚本 echo "Hello World!" 2.通过位置变量创建 Linux 系统账户及 ...
- Jenkins+SVN+Maven+shell 自动化部署实践
JAVA环境中利用Jenkins+svn+maven进行自动化部署实践 一. 前言2 1.介绍jenkins2 1.本地项目打包2 2.通过secureCRT工具,手动传输到服务器2 3.然后 ...
- linux批量添加用户和批量修改密码
一.批量创建用户通过命令newusers可以实现批量的创建用户.这个命令的用法为 newusers file.txt(一个文本文件)文本文件内存放需要批量添加的用户信息但是对格式有要求格式:pw_na ...
- Jenkins持续集成git、gitlab、sonarqube(7.0)、nexus,自动化部署实战,附安装包,严禁转载!!!
导读 之前用的都是SVN,由于工作需要用到Git,求人不如求己,技多不压身,多学一项技能,未来就少求别人一次,系统的学一遍,自己搭建一整套环境,自动化部署(自动发版),代码质量检测等等(为啥不用doc ...
- Linux中kettle自动化部署脚本
自己写的一个自动化在Linux中部署kettle的脚本,包括一些遇到的问题在脚本中都有涉及. kettle是官网最新版本pdi-ce-6.1.0.1-196.zip 目前最新版本下载地址:https: ...
- Shell 自动化部署免密登录
1 .配置主机名称 参考:Linux 修改主机名 和 ip 映射关系 2 . 编写脚本 root.sh 内容 #!/bin/bash SERVERS="hadoop0 hadoop1 had ...
随机推荐
- (java)selenium webdriver爬虫学习--爬取阿里指数网站的每个分类的top50 相关数据;
主题:java 爬虫--爬取'阿里指数'网站的每个分类的top50 相关数据: 网站网址为:http://index.1688.com/alizs/top.htm?curType=offer& ...
- TortoiseGit-下载安装汉语语言包(汉化-方法)
TortoiseGit是一款版本控制软件,和git bash是差不多的, 但是TortoiseGit是图形界面,git bash却是命令界面,但是, 我更新了TortoiseGit后,记得明明选择了汉 ...
- 开放API接口安全处理
一.开放API接口定义 顾名思义,开放出来给其他人调用的API接口就是开放API接口.例如,短信接口.邮件接口. 二.开放API的弱点 数据窃取 用户的密码等信息被不轨之人窃取,登录账号发布敏感信息, ...
- mongoDB sh.status() too many chunks to print
too many chunks to print, use verbose if you want to force print 想要看到详细的信息则需要执行: mongos> sh.statu ...
- C变量作用域的分类和优先级
变量从高到低的优先级以下面展示: 1.文件作用域:变量在全局从文件开头到结尾一直有效即全局变量 2.函数作用域也称局部变量 3.代码块作用域:用{}花括号内的定义的变量:都是在代码块{}中有效 如:i ...
- CodefChef September Challenge 2019 题解
传送门 \(CHEFK1\) 首先连出一个环和所有的自环,剩下的每次按\(n\)个一连就可以了 //quming #include<bits/stdc++.h> #define R reg ...
- Xshell6如何传输文件
Xshell6如何传输文件 /或者直接在本地用notepad nftp插件上传本地文件,直观,更方便 上传文件 1.打开xshell6软件,连接服务器. 2.yum安装一款工具.#yum inst ...
- P5025 [SNOI2017]炸弹
原题链接 https://www.luogu.org/problem/P5025 闲话时刻: 第一道 AC 的黑题,虽然众人皆说水... 其实思路不是很难,代码也不是很难打,是一些我们已经学过的东西 ...
- 常用spaceclaim脚本(二)
#创建一个草图 #第一个参数传入一个Frame对象 #通过一个点和两个向量创建Frame #Frame的类成员函数Create被重载 #重载函数1:Frame.Create(Point, Direct ...
- 深度学习面试题05:激活函数sigmod、tanh、ReLU、LeakyRelu、Relu6
目录 为什么要用激活函数 sigmod tanh ReLU LeakyReLU ReLU6 参考资料 为什么要用激活函数 在神经网络中,如果不对上一层结点的输出做非线性转换的话,再深的网络也是线性模型 ...