ssh 免密码 批量管理
1.创建用户
useradd user1
echo “123456”| passwd --stdin user1
2.创建秘钥
ssh-keygen -t dsa
然后一直回车

非交互式(批量)创建秘钥

3.上传公钥(其他服务器也需要有同样用户)
ssh-cppy-id -i ~/.ssh/id_dsa.pub user1@IP

如果端口改变的话

4.可以直接写脚本执行(非交互式)
例:直接在后面加命令

5.ssh 常用选项用法
-l 指定登入用户
-p 设置端口号(scp时需要大写P)
-f 后台运行,并推荐加上 -n 参数
-n 将标准输入重定向到 /dev/null,防止读取标准输入
-t 在终端执行

5.sudu用法:在sudo组中或在/etc/sudoers 下修改 给用户授权

远程sudo需要 ssh 加 -t

expect实现非交互式批量管理
例:批量分发公钥
vim scrip.exp

如果还需要执行后续命令
则加上

然后循环调用此脚本进行批量

ansible
CI(持续集成):为了每个项目组程序员开发的功能或模块能够兼容需要不断的把已经开发好的功能集成到系统中进行测试
CD(持续交付):测试没问题不断快速发到预发布系统中能让客户获取新版本
CD(持续部署):把交付的结果放到线上,这个过程能够脚本自动执行和快速敏捷实现
DevOps:以上三个过程能够全部自动进行
AIOps:人工智能运维(智能化运维)
2.以上可以分为三步:系统安装、系统配置、系统部署。ansible可以完成配置和部署
3.ansible命令行:

-a:传输模块参数
-m:调用得模块
-C:模拟测试
-f:并发量
-i:指定主机清单文件(默认/etc/ansible/hosts)
–list-hosts:列出可匹配的主机列表
-t:指定日志
-c:指定链接方式
-u:指定链接的用户
-s:sudo
4.免秘钥登录
ssh-keygen -t rsa -P " "
ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.16.0.67
5.定义目标主机在/etc/ansible/hosts中
[] 可以设置每个主机组

fales 表示没改变目标主机配置
6.查看可用模块

-a 获取文档
-l 列出可用模块
-s 查看模块中可用的参数

 1、ssh-keygen     -t rsa      生成公钥和私钥     -t     指定类型,此时会在/root/.ssh/下生成公钥和私钥的文件

2、ssh-copy-id  -i  /root/,ssh/id_rsa.pub  root@192.168.111.138     将公钥文件拷贝到另一台服务器,-i  指定组文件

  3、此时会在另外一台服务器上生成auth文件。完成!

  最小化安装没有ssh-copy-id解决办法,yum  install  -y openssl-clients

pssh实例

  pssh是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的。使用时必须在各个服务器上配置好秘钥认证访问

  安装方法

  1、wget  http://www.theether.org/pssh/pssh-1.4.3.tar.gz

  2、解压,进入目录。python setup.py install

  如果提示没有setiptools模块,解决办法:

     解压进入目录   python setup.py build;           python setup.py install
  pssh包的5个实用程序
  pssh  在多个主机上并行的运行命令
  pscp       把文件并行的复制多个主机上
  prsync  通过rsync协议把文件高效的并行复制到多个主机上
  pslurp  把文件并行的从多个主机上复制到中心机
  pnuke  并行的在多个主机上杀死进程
  参数详解  
    -h  执行命令的主机列表文件,格式  【user@】host【:port】
    -H  执行命令主机,格式 user@ip:port
    -l    远程机器的用户名,默认root
    -p  并发数
    -o  输出内容重定向一个文件  
    -e  执行错误重定向到一个文件
    -t  设置命令执行超时时间
    -A  提示输入密码并且把密码传递给ssh
    -i  显示标准输出和标准错误在每台host执行完毕后

  pssh -i -h list.txt ‘df -h’

ansible详解、

  ansible和saltstack都是管理工具,ansible只需要在一台普通服务器上运行即可,不需要在被管控的服务器上安装客户端,因为它是基于SSH的,所以ansible不需要配置额外的支持,运行ansible的服务器称为‘管理节点’,通过ansible进行管理的服务器成为“受控节点”

  优点:

    1、轻量级,更新时,只需要在一台服务器上进行一次更新即可

    2、采用SSH协议

    3、不需要去客户端执行agent

    4、批量执行可以写成脚本,不用分发到远程就就可以执行

    5:、使用python编写,维护更简单

    6、支持sudo普通用户命令

  安装方法

    ansible能够安装到linux、bsd、mac等平台,python的最低版本要求为2.6

    centos使用yum安装,安装之前先安装perl源码    rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

    yum install ansible -y

  使用方法

    cd /'etcansible;   hosts文件为配置。可以添加分组

    -u  username  指定ssh链接的用户名,即执行后面命令的用户

    -i   inventory_fie  指定使用的配置文件,默认为hosts

    -m  module    指定使用的模块,默认为command

    -f  指定并发数

    -a  指定模块的参数

    --sudo  [-k]      当需要root权限执行的话,-k参数用来输入root密码

  常见的模块有comman、shell、script、yum、copy、file、async、docker、cron、mysql_user、ping、sysctl、user等

    1、ansible 192.168.111.*   -m command  -a 'df -h'

    2、 ansible all -m cpoy -a 'src=/etc/passwd dest=/tmp mode=755 owner=root'

    3、ansible  all   -m  yum   -a   "name=screen state=installed"

    4、ansible  all -m file -a "path=/tmp/`date +5F` state=directory  mode=755"

    5、ansible   all -m  file -a  "path=/tmp/123.txt  state=touch mode=644"

    6、ansibkle  all -m user -a "name=user1 home=/home/user1"

    7、ansible  all  -m cron   -a   "minute=0 hour=0 day=* month=* weekday=*  name='工作内容'    job='/usr/sbin/ntpdate pool.ntp.org'"

    

批量管理工具:pssh/ansible的更多相关文章

  1. Linux下批量管理工具pssh安装和使用

    Linux下批量管理工具pssh安装和使用 pssh工具包 安装:yum -y install pssh pssh:在多个主机上并行地运行命令 pscp:把文件并行地复制到多个主机上 prsync:通 ...

  2. 轻量级批量管理工具pssh

    pssh工具 pssh工具是个轻量级的批量管理工具,相比同类型的开源工具 Ansible,Saltstack,他比较轻量级,需要对管理的主机做秘钥认证 Ansible是可以做秘钥认证,也可以通过配置文 ...

  3. 自动化批量管理工具pssh - 运维小结

    pssh提供OpenSSH和相关工具的并行版本.包括pssh,pscp,prsync,pnuke和pslurp.该项目包括psshlib,可以在自定义应用程序中使用.pssh是python写的可以并发 ...

  4. Linux下批量管理工具pssh使用记录

    pssh是一款开源的软件,使用python实现,用于批量ssh操作大批量机器:pssh是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的:比起for循环的做法,我更推荐使用 ...

  5. Linux下批量管理工具PSSH

    pssh命令 pssh命令是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认 ...

  6. Linux系统——Ansible批量管理工具

    批量管理工具: (1)ansible 操作简单(适用于500台以下服务器) (2)saltstack 比较复杂(一般适用于1000-4w台服务器) (3)puppet超级复杂 systemctl(统一 ...

  7. windows下运行的linux服务器批量管理工具(带UI界面)

    产生背景: 由于做服务器运维方面的工作,需要一人对近千台LINUX服务器进行统一集中的管理,如同时批量对LINUX服务器执行相关的指令.同时批量对LINUX服务器upload程序包.同时批量对LINU ...

  8. Python开发程序:简单主机批量管理工具

    题目:简单主机批量管理工具 需求: 主机分组 登录后显示主机分组,选择分组后查看主机列表 可批量执行命令.发送文件,结果实时返回 主机用户名密码可以不同 流程图: 说明: ### 作者介绍: * au ...

  9. 【Python之旅】第六篇(七):开发简易主机批量管理工具

    [Python之旅]第六篇(七):开发简易主机批量管理工具 python 软件开发 Paramiko模块 批量主机管理 摘要: 通过前面对Paramiko模块的学习与使用,以及Python中多线程与多 ...

随机推荐

  1. 基于django的生成二维码的接口

    原理就是在视图层写一个将数据生成二维码的视图函数: def generate_qrcode(request, data): img = qrcode.make(data) buf = BytesIO( ...

  2. mysql学习之基础篇04

    五种基本子句查询 查询是mysql中最重要的一环,我们今天就来说一下select的五种子句中的where条件查询: 首先我们先建立一张商品表:goods 由于商品数目太多,我就不一一列举了. 在这里我 ...

  3. Docker 容器介绍

    Docker 容器介绍 Docker 是一个基于 Go 语言的开源应用容器引擎,它既能实现虚拟化,又可用于将应用服务打包成轻量.可移植的容器,从而可以发布到任何 Linux 平台.除了优秀了沙箱机制外 ...

  4. 从零开始配置MacBook Pro

    购买macbook, 是因为它的效率性.由于我第一次使用macbook,所以按照我开发的习惯和参照了其他人的文章进行配置我的个人mac,希望我的设置对你们也有所帮助 1.基本配置 查找我的Mac 系统 ...

  5. Vue项目中自动将px转换为rem

    一.配置与安装步骤: 1.在 Vue 项目的 src 文件夹下创建一个 config 文件夹: 2.在 config 文件夹中创建 rem.js: 3.将以下代码复制到 rem.js 中: // 基准 ...

  6. 安装k8s,使用root帐号的初始化脚本

    现在稳定性差不多了.可以总结一下了. 真正使用时,有几个地方,还是确认一下,再正式运行吧. #!/bin/bash # Version V0. ---: ;fi K8S_VERSION="1 ...

  7. LG4718 【模板】Pollard-Rho算法 和 [Cqoi2016]密钥破解

    Pollard-Rho算法 总结了各种卡常技巧的代码: #define int long long typedef __int128 LL; IN int fpow(int a,int b,int m ...

  8. 从零实现jQuery的extend

    前言 jQuery 的 extend 是 jQuery 中应用非常多的一个函数,今天我们一边看 jQuery 的 extend 的特性,一边实现一个 extend! extend 基本用法 先来看看 ...

  9. go socket 服务端处理多用户

    package main import ( "fmt" "net" "strings") func main() { listener, e ...

  10. PHP项目部署 Linux 服务器

    一.运行环境 Centos7 x64 lnmp (Linux , Nginx , Mysql , PHP/Python) 二.安装依赖和修改配置 安装Lnmp环境集成包:https://lnmp.or ...