OpenSSH是一个在Linux服务器上很常用的工具,它允许您通过shell安全地连接到远程Linux系统,并允许您安全地在远程系统之间传输文件。但OpenSSH的最大缺点是您无法一次性在多个主机上执行相同的命令,并且OpenSSH并不是为执行此类任务而开发的。
这就是Parallel SSH或PSSH工具派上用场的地方,它是一个基于Python的应用程序,允许您同时在多个主机上并行执行命令。
PSSH工具包括OpenSSH的并行版本和相关工具,例如:
pssh–是一个在多个远程主机上并行运行ssh的程序。
pscp–是一个用于将文件并行复制到多个主机的程序。
prsync–是一个用于高效地将文件并行复制到多个主机的程序。
pnuke–并行终止多个远程主机上的进程。
pslurp–将文件从多个远程主机并行复制到中央主机。
这些工具对于需要处理网络上大量节点的系统管理员来说非常有用。
在Linux服务器上安装PSSH或并行SSH
在本指南中,我们将了解在基于RHEL的发行版(例如Fedora、CentOSStream、Rocky&AlmaLinux)以及基于Debian的发行版(例如Ubuntu和Linux)上安装最新版本的PSSH(即版本2.3.1)程序的步骤使用pip命令进行Mint操作。
pip命令是一个小程序(easy_install脚本的替代),用于安装和管理Python软件包索引。
基于RHEL的发行版
在RHEL发行版上,您需要首先在系统上安装pip软件包(即python-pip),以使用yum或dnf安装PSSH程序。
yum install python-pip 或者 dnf install python-pip
安装pip工具后,您可以使用pip命令安装pssh软件包,如下所示。
pip install pssh
基于Debian的发行版
在基于Debian的发行版上,使用pip命令安装pssh需要一分钟的时间。
sudo apt install python-pip
sudo pip install pssh
如何在Linux中使用pssh?
使用pssh时,您需要创建一个主机文件,其中包含主机数量以及使用pssh连接到远程系统所需的IP地址和端口号。
主机文件中的行采用以下形式,还可以包含空行和注释。
pssh主机文件
192.168.0.10:22
192.168.0.11:22
在多个Linux服务器上运行单个命令
您可以通过运行pssh命令在网络上的不同或多台Linux主机上执行任何单个命令。有许多选项可与pssh一起使用,如下所述:
我们将了解使用pssh和不同选项在多个主机上执行命令的几种方法。
要读取主机文件,请包含-h host_file-name或--hosts host_file_name选项。
要在未定义特定用户的所有主机上包含默认用户名,请使用-l username或--user username选项。
您还可以在每个主机完成时显示标准输出和标准错误。通过使用-i或--inline选项。
您可能希望通过包含该选项来使连接在给定秒数后超时-t number_of_seconds。
要将标准输出保存到给定目录,可以使用该-o /directory/path选项。
要请求密码并将其发送到SSH,请使用该-A选项。
让我们看一些pssh命令的示例和用法:
在多个Linux主机上运行命令
1.要通过root用户在多个Linux主机的终端上执行echo“HelloTecMint”并提示输入root用户密码,请运行以下命令。
重要提示:记住所有主机必须包含在主机文件中。

注意:在上面的命令中,“pssh-hosts”是一个文件,其中包含您希望执行命令的远程Linux服务器的IP地址和SSH端口号的列表。

查找多个Linux主机的磁盘使用情况
2.要了解网络上多个Linux服务器的磁盘空间使用情况,您可以运行单个命令,如下所示。

查找多个Linux主机的正常运行时间
3.如果您想一次性了解多台Linux服务器的正常运行时间,可以运行以下命令。
您可以查看pssh命令的手动输入页面来获取许多其他选项,以了解更多使用pssh的方法。
pssh --help

pssh命令和用法
Parallel SSH或者说PSSH是一个很好的工具,可用于在系统管理员必须与网络上的许多服务器一起工作的环境中执行命令。它将使命令可以轻松地在网络上的不同主机上远程执行。