欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

pssh远程套件工具

程序员文章站 2022-05-30 13:21:56
...

5案例5:pssh远程套件工具

5.1问题

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

  • 使用密码批量、多并发远程其他主机
  • 使用**批量、多并发远程其他主机
  • 批量、多并发拷贝数据到其他主机
  • 批量、多并发从其他主机下载数据到本机
  • 批量、多并发杀死其他主机的进程

5.2方案

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

pssh远程套件工具

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

/usr/bin/pnuke

/usr/bin/prsync

/usr/bin/pscp.pssh

/usr/bin/pslurp

/usr/bin/pssh

5.3步骤

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

步骤一:准备工作

1)安装软件包

[[email protected] ~]# rpm -ivh  pssh-2.3.1-5.el7.noarch.rpm

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

[[email protected] ~]# cat /etc/hosts
… …
192.168.2.100  host1
192.168.2.200  host2
192.168.4.10   host3
… …

3)创建主机列表文件

[[email protected] ~]# cat /root/host.txt            //每行一个用户名、IP或域名
… …
[email protected]
host2
host3
… …

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

1)语法格式

[[email protected] ~]# man pssh                    //通过man帮助查看工具选项的作用
pssh提供并发远程连接功能
-A                使用密码远程其他主机(默认使用**)
-i                将输出显示在屏幕
-H                设置需要连接的主机
-h                设置主机列表文件
-p                设置并发数量
-t                设置超时时间
-o dir            设置标准输出信息保存的目录
-e dir            设置错误输出信息保存的目录
-x                传递参数给ssh

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

[[email protected] ~]# pssh -i  -A -H  'host1 host2 host3'   \
>  -x '-o StrictHostKeyChecking=no'   echo hello

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

[[email protected] ~]# pssh -A -h host.txt   echo hello

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

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

[[email protected] ~]# ssh-****** -N  ''   -f /root/.ssh/id_rsa     //非交互生成**文件
[[email protected] ~]# ssh-copy-id  host1
[[email protected] ~]# ssh-copy-id  host2
[[email protected] ~]# ssh-copy-id  host3

2)使用**远程其他主机

[[email protected] ~]# pssh -h host.txt  echo hello

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

[[email protected] ~]# pssh -h host.txt -o /tmp/  echo hello

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

1)语法格式

[[email protected] ~]# man pscp.pssh                    //通过man帮助查看工具选项的作用
pscp.pssh提供并发拷贝文件功能
-r    递归拷贝目录
其他选项基本与pssh一致

2)将本地的/etc/hosts拷贝到远程主机的/tmp目录下

[[email protected] ~]# pscp.pssh -h host.txt  /etc/hosts  / tmp

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

[[email protected] ~]# pscp.pssh -r -h host.txt   /etc   /tmp 

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

1)语法格式

[[email protected] ~]# man pslurp                    //通过man帮助查看工具选项的作用
pslurp提供远程下载功能
选项与pscp.pssh基本一致

2)将远程主机的/etc/passwd,拷贝到当前目录下,存放在对应ip下的pass文件中

[[email protected] ~]# pslurp  -h host.txt  /etc/passwd  /pass

注意:最后的pass是文件名

3)将远程主机的/etc/passwd目录,拷贝到media下,存放的对应ip下的pass文件

[[email protected] ~]# pslurp -h host.txt -L  /media   /etc/passwd   /pass

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

 1)语法格式

[[email protected] ~]# man pnuke                    //通过man帮助查看工具选项的作用
pnuke提供远程杀死进程的功能
选项与pssh基本一致

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

[[email protected] ~]# pnuke  -h host.txt  sleep

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

[[email protected] ~]# pnuke  -h host.txt  test

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

[[email protected] ~]# pnuke  -h host.txt  test.sh