pssh远程套件工具

案例5:pssh远程套件工具

5.1问题

本案例要求使用pssh套件工具并发远程其他主机,具体要求如下:

使用密码批量、多并发远程其他主机

使用密钥批量、多并发远程其他主机

批量、多并发拷贝数据到其他主机

批量、多并发从其他主机下载数据到本机

批量、多并发杀死其他主机的进程

5.2方案

准备实验所需的虚拟机环境,实验环境所需要的主机及对应的IP设置列表如表-5所示,正确配置IP地址、主机名称,并且为每台主机配置YUM源。

表-5主机列表

安装pssh后会提供如下命令:

/usr/bin/pnuke

/usr/bin/prsync

/usr/bin/pscp.pssh

/usr/bin/pslurp

/usr/bin/pssh

5.3步骤

实现此案例需要按照如下步骤进行。

步骤一:准备工作

1)安装软件包

[root@proxy~]#rpm -ivh pssh-2.3.1-5.el7.noarch.rpm

2)修改/etc/hosts本地解析文件

cat/etc/hosts

……

192.168.2.100 host1

192.168.2.200 host2

192.168.4.100 host3

……

3)创建主机列表文件

[root@proxy~]#cat /root/host.txt//每行一个用户名、IP或域名

……

root@host1

host2

host3

……

步骤二:使用密码批量、多并发远程其他主机

1)语法格式

[root@proxy~]#man pssh

//通过man帮助查看工具选项的作用

pssh提供并发远程连接功能

-A使用密码远程其他主机(默认使用密钥)

-i将输出显示在屏幕

-H设置需要连接的主机

-h设置主机列表文件

-p设置并发数量

-t设置超时时间

-o dir设置标准输出信息保存的目录

-e dir设置错误输出信息保存的目录

-x传递参数给ssh

2)使用密码远程多台主机执行命令,屏幕显示标准和错误输出信息

[root@proxy~]#pssh -i -A -H 'host1 host2 host3' \

>-x '-o StrictHostKeyChecking=no' echo hello

3)使用密码远程多台主机执行命令,不显示标准和错误输出信息,通过读取host.txt读取主机信息

[root@proxy~]#pssh -A -h host.txt\

>-x '-o StrictHostKeyChecking=no' echo hello

步骤三:使用密钥批量、多并发远程其他主机

1)生成密钥并发送密钥到其他主机

[root@proxy~]#ssh-keygen -N '' -f /root/.ssh/id_rsa

//非交互生成密钥文件

[root@proxy~]#ssh-copy-id -i /root/.ssh/id_rsa.pub host1

[root@proxy~]#ssh-copy-id -i /root/.ssh/id_rsa.pub host2

[root@proxy~]#ssh-copy-id -i /root/.ssh/id_rsa.pub host3

2)使用密钥远程其他主机

[root@proxy~]#pssh -h host.txt -x '-o StrictHostKeyChecking=no' echo hello

3)使用密钥远程其他主机,将标准输出信息写入到/tmp目录

[root@proxy~]#pssh -h host.txt -o /tmp/ -x '-o StrictHostKeyChecking=no' echo hello

步骤四:批量、多并发拷贝数据到其他主机

1)语法格式

[root@proxy~]#man pscp.pssh//通过man帮助查看工具选项的作用

pscp.pssh提供并发拷贝文件功能

-r递归拷贝目录

其他选项基本与pssh一致

2)将本地的etc.tar.gz拷贝到远程主机的根目录下

[root@proxy~]#pscp.pssh -h host.txt\

>-x '-o StrictHostKeyChecking=no' etc.tar.gz/

3)递归将本地的/etc目录拷贝到远程主机的/tmp目录下

[root@proxy~]#pscp.pssh -r -h host.txt\

>-x '-o StrictHostKeyChecking=no' /etc/tmp

步骤五:批量、多并发从其他主机下载数据到本机

1)语法格式

[root@proxy~]#man pslurp//通过man帮助查看工具选项的作用

pslurp提供远程下载功能

选项与pscp.pssh基本一致

2)将远程主机的/etc/目录,拷贝到当前目录下,存放在对

应IP下的tmp目录

[root@proxy~]#pslurp -r -h host.txt -x '-o

StrictHostKeyChecking=no' /etc/tmp

3)将远程主机的/etc/目录,拷贝到media下,

      存放在对应IP下的tmp目录

[root@proxy~]#pslurp -r -h host.txt-x '-o

StrictHostKeyChecking=no' \

>-L /media/etc/tmp

步骤六:批量、多并发杀死其他主机的进程

1)语法格式

[root@proxy~]#man pnuke

//通过man帮助查看工具选项的作用

pnuke提供远程杀死进程的功能

选项与pssh基本一致

2)将远程主机上的sleep进程杀死

[root@proxy~]#pnuke -h host.txt -x '-o StrictHostKeyChecking=no' sleep

3)将远程主机上的test相关脚本都杀死(如:test1,testtt,test2等等)

[root@proxy~]#pnuke -h host.txt -x '-o StrictHostKeyChecking=no' test

4)将远程主机上的test.sh脚本杀死

[root@proxy~]#pnuke -h host.txt -x '-o StrictHostKeyChecking=no' test.sh

pssh远程套件工具的更多相关文章

  1. 小型自动化运维工具pssh和传输工具rsync

    一.简单介绍 1.pssh全称是parallel-ssh,基于Python编写的并发在多台服务器上批量执行命令的工具.包括pssh,pscp,prsync,pnuke和pslurp.该项目包括pssh ...

  2. Linux系统管理远程登录工具PUTTY

    PuTTY 简介        PuTTY是一个Telnet.SSH.rlogin.纯TCP以及串行接口连线软件.较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台,并打算移植 ...

  3. linux远程管理工具

    一.常见的远程管理控制方式主要有以下几种 ①RDP(remote desktop protocol)协议 远程桌面协议,我们常用的windows操作系统就是的远程桌面管理就是基于该协议的. ②teln ...

  4. Linux网络管理——远程登录工具

    4. 远程登录工具 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB", ...

  5. curl远程传输工具

    /** * curl远程传输工具 */ public function post_curl($url,$body,$header,$type='POST'){ $ch = curl_init(); c ...

  6. xshell远程登录工具的星号密码查看方法

    当我们在使用ftp,或者xshell等远程登录工具的时候,连接的密码是用星号*处理的,无法查看到,该如何查看到原始的密码呢? 推荐一款星号密码查看器,可以查看一些软件的带星号的密码,非常好用. 下载地 ...

  7. Linux远程批量工具mooon_ssh和mooon_upload使用示例

    目录 目录 1 1. 前言 1 2. 批量执行命令工具:mooon_ssh 2 3. 批量上传文件工具:mooon_upload 2 4. 使用示例 3 4.1. 使用示例1:上传/etc/hosts ...

  8. 强大的安卓手机远程管理工具 – Droidjack

    免责声明:本站提供安全工具.程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! Droidjack是一款针对安卓手机远程管理工具,你可以利用它在PC上对手机进行远程操控,不仅功能强大,使用 ...

  9. Mac 10.12安装Windows远程桌面工具Microsoft Remote Desktop

    说明:之前Office自带的Windows远程桌面工具虽然简便,但是保存的服务器列表有限.而这个微软推出的自家工具可以完美解决这些问题. 下载: (链接:https://pan.baidu.com/s ...

随机推荐

  1. 修改webserver站点用户组权限

    例如webserver站点目录为webtest 搭建nginxwebserver服务器的时候,默认的用户和用户组权限为nginx:nginx, 即nginx.conf 和php-frm.conf 中默 ...

  2. JVM笔记-Java技术体系与JVM概述

    1. 简述 Java 不仅仅是一门编程语言,还是一个由一系列计算机软件和规范组成的技术体系. Java 的广告词为 "一次编写,到处运行",之所以能够做到"跨平台&quo ...

  3. VsCode从零开始配置一个属于自己的Vue开发环境

    vscode vue VsCode算是比较热门的一个代码编辑器了,全名Visual Studio Code下载地址:点我去下载插件众多,功能齐全,我在平常开发过程中都是用的它,整理了些自认好用的插件, ...

  4. JavaScript中的内存释放

    C.C++语言需要手动管理内存的分配与释放(常用方法:malloc(), calloc(), realloc()和free()等).而JavaScript与Java.C#相似,内置了垃圾回收器,能自动 ...

  5. linux redis安装 5.0.2

    参看:https://www.cnblogs.com/limit1/p/9045183.html 1.获取redis资源 wget http://download.redis.io/releases/ ...

  6. WSGI标准、MVC和MTC框架

    WSGI服务: wsgiref模块其实就是将整个请求信息给封装了起来,就不需要你自己处理了,假如它将所有请求信息封装成了一个叫做request的对象,那么你直接request.path就能获取到用户这 ...

  7. VS2019 C++动态链接库的创建使用(4) - C语言客户端

    前面提到过C++具有函数重载功能,所以引出的函数名会有变化,即名称改编,如果是C语言编写的客户端则无法正确识别. 处理方法: ①只需在宏定义中间增加 extern "C",但这种使 ...

  8. Mycat的简介及安装

    Mycat简介: 1.1Mycat含义 简单的说,MyCAT就是: 一个彻底开源的,面向企业应用开发的“大数据库集群” 支持事务.ACID.可以替代Mysql的加强版数据库 一个可以视为“Mysql” ...

  9. MySQL笔记(7)-- 事务和实现

    一.背景 前面有说到InnoDB是事务型引擎,那什么是事务?事务的特性是什么?它所对应的隔离级别是哪些?是怎么实现的?下面来详细讨论下. 二.事务的理解 事务就是一组原子性的SQL查询,或者说一个独立 ...

  10. [剑指offer]6.从尾到头打印链表+18.删除链表节点

    链表 6.从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 方法一 迭代 创建空列表res,将链表值head.val依次存进res,返回翻转后的res 代码 cl ...