帮助中心 >
  关于独立服务器 >
  Pssh实现多台远程linux服务器上同时命令
Pssh实现多台远程linux服务器上同时命令
时间 : 2025-01-13 13:33:14
编辑 : Jtti

Linux服务器中OpenSSH是最常用工具之一,可安全的远程连接到linux系统且具备强大功能。但是OpenSSH不能支持一次性在多台linux服务器上执行相同命令,这时就可以用并行SSH或PSSH工具。

PSSH是基于python的应用程序,支持用户在多个服务器上并行执行命令。PSSH工具包括OpenSSH并行版本和相关感觉,如pssh、pscp、prsync、pnuke、pslurp等。这些工具对于网络中处理大量节点系统管理员来说非常重要。基于RHEL发行版Linux中安装pip包再使用yum/dnf安装PSSH程序:

yum install python-pip

或者

dnf install python-pip

安装pip工具后,用pip命令安装passh包:

pip install pssh  

基于debian发行版中用pip命令安装pssh:

sudo apt install python-pip

sudo pip install pssh

使用pssh时要创建一个主机文件,其中含主机数量及使用pssh连接到远程系统所需IP地址和端口号。宿主文件中行采用以下形式,还含空行和注释:

192.188.0.10:22

192.188.0.11:22

多台linux服务器上运行单个命令,先用root身份在多个linux主机终端执行echo:

pssh -h pssh-hosts -l root -A echo "Hello TecMint"并提示输入root用户密码:

Warning: do not enter your password if anyone else has superuser

privileges or access to your account.

Password: [1] 15:54:55 [SUCCESS] 192.188.0.10:22[2] 15:54:56 [SUCCESS] 192.188.0.11:22

pssh-hosts 文件包含希望执行命令的远程 Linux 服务器的 IP 地址和 SSH 端口号的列表。

下查询多个linux服务器的磁盘空间使用情况:

pssh -h pssh-hosts -l root -A -i "df -hT"

Warning: do not enter your password if anyone else has superuser

privileges or access to your account.

Password: [1] 16:04:18 [SUCCESS] 192.188.0.10:22

Filesystem     Type   Size  Used Avail Use% Mounted on

/dev/sda3      ext4    38G  4.3G   32G  12% /

tmpfs          tmpfs  499M     0  499M   0% /dev/shm

/dev/sda1      ext4   190M   25M  156M  14% /boot

[2] 16:04:18 [SUCCESS] 192.188.0.11:22

Filesystem              Type      Size  Used Avail Use% Mounted on

/dev/mapper/centos-root xfs        30G  9.8G   20G  34% /

devtmpfs                devtmpfs  488M     0  488M   0% /dev

tmpfs                   tmpfs     497M  148K  497M   1% /dev/shm

tmpfs                   tmpfs     497M  7.0M  490M   2% /run

tmpfs                   tmpfs     497M     0  497M   0% /sys/fs/cgroup

/dev/sda1               xfs       497M  166M  332M  34% /boot

查询多linux服务器的正常运行时间:

pssh -h pssh-hosts -l root -A -i "uptime"

Warning: do not enter your password if anyone else has superuser

privileges or access to your account.

Password: [1] 16:09:03 [SUCCESS] 192.188.0.10:22

16:09:01 up  1:00,  2 users,  load average: 0.07, 0.02, 0.00

[2] 16:09:03 [SUCCESS] 192.188.0.11:22

06:39:03 up  1:00,  2 users,  load average: 0.00, 0.06, 0.09

查看更多passh手动输入页面的更多用法:

pssh --help

JTTI-Defl
JTTI-COCO
JTTI-Selina
JTTI-Ellis
JTTI-Eom